2016-03-20 7 views
2

PyInstallerを使用してPythonスクリプトの実行ファイルを作成しようとしています。私はPythonのファイルが入っているディレクトリからIOErrorの取得:[Errno 21] PyInstallerを実行しようとするとディレクトリエラーが発生する

pyinstaller --onefile --windowed ./lab_attendant_emailer.py

...ターミナルで実行されます。これは、ビットのために実行を開始するが、このエラーを返します。

12 INFO: PyInstaller: 3.1.1 
12 INFO: Python: 2.7.6 
12 INFO: Platform: Linux-3.16.0-67-generic-x86_64-with-Ubuntu-14.04-trusty 
12 INFO: wrote /home/carsnwd/PycharmProjects/labattendantemailer/lab_attendant_emailer.spec 
14 INFO: UPX is not available. 
15 INFO: Extending PYTHONPATH with paths 
['/home/carsnwd/PycharmProjects/labattendantemailer', 
'/home/carsnwd/PycharmProjects/labattendantemailer'] 
15 INFO: checking Analysis 
21 INFO: checking PYZ 
22 INFO: checking PKG 
25 INFO: Bootloader /usr/local/lib/python2.7/dist-packages/PyInstaller/bootloader/Linux-64bit/run 
25 INFO: checking EXE 
25 INFO: Building because name changed 
25 INFO: Building EXE from out00-EXE.toc 
Traceback (most recent call last): 
    File "/usr/local/bin/pyinstaller", line 9, in <module> 
    load_entry_point('PyInstaller==3.1.1', 'console_scripts', 'pyinstaller')() 
    File "/usr/local/lib/python2.7/dist-packages/PyInstaller/__main__.py", line 90, in run 
    run_build(pyi_config, spec_file, **vars(args)) 
    File "/usr/local/lib/python2.7/dist-packages/PyInstaller/__main__.py", line 46, in run_build 
    PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/PyInstaller/building/build_main.py", line 755, in main 
    build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build')) 
    File "/usr/local/lib/python2.7/dist-packages/PyInstaller/building/build_main.py", line 701, in build 
    exec(text, spec_namespace) 
    File "<string>", line 28, in <module> 
    File "/usr/local/lib/python2.7/dist-packages/PyInstaller/building/api.py", line 498, in __init__ 
    self.__postinit__() 
    File "/usr/local/lib/python2.7/dist-packages/PyInstaller/building/datastruct.py", line 183, in __postinit__ 
    self.assemble() 
    File "/usr/local/lib/python2.7/dist-packages/PyInstaller/building/api.py", line 575, in assemble 
    outf = open(self.name, 'wb') 
IOError: [Errno 21] Is a directory: '/home/carsnwd/PycharmProjects/labattendantemailer/dist/lab_attendant_emailer' 

私が間違っていることを助けてください。

+1

カーソンは、ディレクトリと実行可能ファイルに同じ名前が付いているようですが、書き込みしようとするとエラーが発生します。実行ファイルの名前を変更してください – Nilesh

+1

ディレクトリ '/ home/carsnwd/PycharmProjects/labattendantemailer/dist'を実行し、再度 'pyinstaller'を実行してください。 – Nilesh

+0

ああ、もう一度やったことがあると思っていましたが、今回はうまくいってくれました。 – Carson

答えて

1

pyinstallerを一度実行してdistディレクトリを作成することがあります。

もう一度再実行しようとすると、以前のコマンドで作成されたすべてのディレクトリ構造が作成されます。ディレクトリを整理してからpyinstallerに再実行してください。

+0

これは素晴らしい仕事でした、ありがとう! –

関連する問題