Как добавить PyNaCl (python пакет) в cx_freeze? - PullRequest
0 голосов
/ 26 февраля 2020

Я новичок в python. Я хочу перенести программу на другие компьютеры без установки множества зависимых пакетов. Моя программа зависит от пакета PyNaCl, который я установил с помощью pip; Однако я не понимаю, как добавить PyNaCl в cx_freeze.

setup.py:

# coding: utf-8

from cx_Freeze import setup, Executable

executables = [Executable('main.py'), Executable('database.py'), Executable('barcode.py'), Executable('error_codes.py')]

includes = ['database']
packages = ['cffi', 'nacl', 'nacl.public', 'nacl.signing', 'nacl.encoding', 'nacl.exceptions']

include_files = ['../static', '../misc', '../templates', '../doc']

options = {
    'build_exe': {
        'includes': includes,
        'include_files': include_files,
        'packages': packages
    }
}


setup(name='toxme',
      version='0.0.1',
      description='My Hello World App!',
      executables=executables,
      options=options)

Я пытаюсь добавить это как py-salt, PyNaCl в пакетах, но cx_freeze может не найти их. И когда я пытаюсь без него на другом компьютере, я получаю сообщение об ошибке:

Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/cx_Freeze/initscripts/__startup__.py", line 40, in run
  File "/usr/local/lib/python3.5/dist-packages/cx_Freeze/initscripts/Console.py", line 37, in run
  File "main.py", line 14, in <module>
  File "/usr/local/lib/python3.5/dist-packages/PyNaCl-0.2.3-py3.5-linux-x86_64.egg/nacl/public.py", line 17, in <module>
  File "/usr/local/lib/python3.5/dist-packages/PyNaCl-0.2.3-py3.5-linux-x86_64.egg/nacl/c/__init__.py", line 16, in <module>
  File "/usr/local/lib/python3.5/dist-packages/PyNaCl-0.2.3-py3.5-linux-x86_64.egg/nacl/c/crypto_box.py", line 23, in <module>
  File "/usr/local/lib/python3.5/dist-packages/PyNaCl-0.2.3-py3.5-linux-x86_64.egg/nacl/_lib/__init__.py", line 73, in __getattr__
  File "/usr/local/lib/python3.5/dist-packages/cffi/verifier.py", line 73, in load_library
  File "/usr/local/lib/python3.5/dist-packages/cffi/verifier.py", line 125, in _write_source
FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/lib/python3.5/dist-packages/PyNaCl-0.2.3-py3.5-linux-x86_64.egg/nacl/_lib/__pycache__/_cffi__x76d029e0x43234436.c'
...