3

esky でアプリをフリーズすると、次のエラーが発生します。これは、フリーザー モジュールとして py2exe を使用している場合に発生します。

error: c:\docume~1\user\locals~1\temp\tmpkizl0t\scripts\my_script.py:
The process cannot access the file because it is being used by another process

このエラーは、コードで sympy モジュールを使用し、それを setup.py ファイルのパッケージに追加した場合にのみ発生します。私のsetup.pyファイルの「オプション」部分は次のとおりです。

options = {
           'bdist_esky': {"freezer_module":"py2exe",
              'includes':['encodings','Symbolic','matplotlib','Sequence','ClientTCP',
                          'XMLSequenceParser','XMLSequenceWriter','utils.widgets',
                          'pylab','ConfigParser','numpy','xml.etree.ElementTree','logging',
                          're','json','pylab','socket','struct','threading','traceback',
                          'utils.liststore','Reporter','tempfile', 'filecmp','os',  
                          'cairo', 'pango', 'pangocairo', 'atk', 'gobject', 'gio','matplotlib.backends.backend_qt4agg','sympy'],
              }
          },

以下の問題は、Thomas K からの回答で解決されました。

cx_freeze をフリーザー モジュールとして使用すると、ビルドは完了しますが、実行可能ファイルを実行しようとすると、同様のエラーが発生します。

Traceback (most recent call last):
File "cx_Freeze__init__.py", line 743, in <module>
File "cx_Freeze__init__.py", line 332, in bootstrap
File "cx_Freeze__init__.py", line 359, in chainload
File "cx_Freeze__init__.py", line 729, in _chainload
File "C:\Python27\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27
, in <module>
exec code in m.__dict__
File "c:\docume~1\user\locals~1\temp\tmpyisdxd\scripts\my_script.py", line 1447,
in <module>
NameError: name '__file__' is not defined

誰もこの問題に遭遇しましたか?

4

1 に答える 1

0

このエラーは、他のプロセスが SymPy ファイルの 1 つを使用していることを示しているようです。パソコンを再起動するだけで治るのではないでしょうか?

于 2013-09-19T20:36:05.057 に答える