我使用 pyinstaller 创建了一个 python 可执行文件,但是当我执行可执行文件时导入到我的 .py 脚本的模块不存在
I created a python executable by using pyinstaller, but the module imported to my .py script is not present when I execute executable
我使用 pyinstaller 创建了一个 python 可执行文件,但是当我执行可执行文件时导入到我的 .py 脚本的 jira 模块不存在
回溯(最近调用最后):
File "myfile.py", line 7, in <module>
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
File "<frozen importlib._bootstrap>", line 634, in _load_backward_compatible
File "c:\users\rajivkum\appdata\local\continuum\anaconda3\lib\site-packages\Py
Installer\loader\pyimod03_importers.py", line 389, in load_module
exec(bytecode, module.__dict__)
File "site-packages\jira\__init__.py", line 6, in <module>
File "site-packages\setuptools-18.5-py3.5.egg\pkg_resources\__init__.py", line
558, in get_distribution
File "site-packages\setuptools-18.5-py3.5.egg\pkg_resources\__init__.py", line
438, in get_provider
File "site-packages\setuptools-18.5-py3.5.egg\pkg_resources\__init__.py", line
959, in require
File "site-packages\setuptools-18.5-py3.5.egg\pkg_resources\__init__.py", line
846, in resolve
pkg_resources.DistributionNotFound: The 'jira' distribution was not found and is
required by the application
PyInstaller(以及 cx_Freeze 和 Py2exe)在包含 jira 时遇到问题。您需要做的是为 PyInstaller 创建一个 "hook file",最好是在与您的项目相同的目录中。命名文件
“挂钩-jira.py”。文件内容应如下所示:
从 PyInstaller.utils.hooks 导入 copy_metadata
数据 = copy_metadata('jira')
这将确保 PyInstaller 将包含 jira。然后,你只需要在myfile.py和钩子文件所在的目录中运行:
PyInstaller myfile.py --additional-hooks-dir=.
告诉 PyInstaller 它应该在当前目录中查找挂钩文件。这应该可以解决问题。
我使用 pyinstaller 创建了一个 python 可执行文件,但是当我执行可执行文件时导入到我的 .py 脚本的 jira 模块不存在
回溯(最近调用最后):
File "myfile.py", line 7, in <module>
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
File "<frozen importlib._bootstrap>", line 634, in _load_backward_compatible
File "c:\users\rajivkum\appdata\local\continuum\anaconda3\lib\site-packages\Py
Installer\loader\pyimod03_importers.py", line 389, in load_module
exec(bytecode, module.__dict__)
File "site-packages\jira\__init__.py", line 6, in <module>
File "site-packages\setuptools-18.5-py3.5.egg\pkg_resources\__init__.py", line
558, in get_distribution
File "site-packages\setuptools-18.5-py3.5.egg\pkg_resources\__init__.py", line
438, in get_provider
File "site-packages\setuptools-18.5-py3.5.egg\pkg_resources\__init__.py", line
959, in require
File "site-packages\setuptools-18.5-py3.5.egg\pkg_resources\__init__.py", line
846, in resolve
pkg_resources.DistributionNotFound: The 'jira' distribution was not found and is
required by the application
PyInstaller(以及 cx_Freeze 和 Py2exe)在包含 jira 时遇到问题。您需要做的是为 PyInstaller 创建一个 "hook file",最好是在与您的项目相同的目录中。命名文件 “挂钩-jira.py”。文件内容应如下所示:
从 PyInstaller.utils.hooks 导入 copy_metadata
数据 = copy_metadata('jira')
这将确保 PyInstaller 将包含 jira。然后,你只需要在myfile.py和钩子文件所在的目录中运行:
PyInstaller myfile.py --additional-hooks-dir=.
告诉 PyInstaller 它应该在当前目录中查找挂钩文件。这应该可以解决问题。