使用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
有没有人遇到过这个问题?
答案 0 :(得分:0)
该错误似乎表明某些其他进程正在使用其中一个SymPy文件。也许只是重启电脑会解决它?