2013-09-19 3 views
3

При попытке замораживания приложения с помощью esky у меня возникает следующая ошибка. Это происходит при использовании py2exe в качестве модуля морозильной камеры.Ошибка сборки при использовании sympy с esky

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'], 
       } 
      }, 

задачи ниже решаемой ответ от Томаса 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

Я не думаю, что вы можете использовать '__file__' в замороженных приложениях, потому что он фактически не запускается из файла сценария. –

+0

Спасибо Томас, это ответ на проблему при использовании cx_freeze в качестве модуля морозильной камеры. Ошибка при использовании py2exe остается, но по крайней мере я могу заморозить ее с помощью cx_freeze. – Celt

ответ

0

Ошибка указывает на то, что в каком-то другом процессе используется один из файлов SymPy. Может быть, просто перезагрузка компьютера исправит это?

+0

Спасибо за предложение, но перезагрузка не помогает. Я также пробовал использовать другой компьютер с тем же результатом. – Celt