これは、手動で実行せずに PyInstaller で Python コードをコンパイルするための私のプログラムです。
prog = raw_input('File to compile: ')
shutil.copy(prog,'C:\Users\Hydro\Desktop\Projects\Python\PyInstaller\\'+prog)
os.chdir('PyInstaller\\')
subprocess.call(['python', 'PyInstaller.py', prog, '--onefile'])
x = os.getpid()
print x
os.kill(x,9)
var = prog.split('.')
new_var = var[0]
os.chdir(new_var+'\\'+'dist')
shutil.copy(new_var+'.'+'exe','C:\Users\Hydro\Desktop\Projects\Python')
shutil.rmtree('C:\Users\Hydro\Desktop\Projects\Python\PyInstaller\\'+new_var)
os.remove('C:\Users\Hydro\Desktop\Projects\Python\PyInstaller\\'+prog)
raw_input('File Compiled. Press Enter to Exit')
プロセスが削除しようとしているディレクトリを使用しているため、これは機能しません。
PyIRCで理由を尋ねましたが、役に立ちませんでした..PIDも殺そうとしましたが、間違ったものを殺しています。
誰かが私を助けたり、コンパイル後にディレクトリを削除できない理由を教えてくれますか? だから私は解決策を思い付くことができますか?