Pyinstaller/Django - pkg_resources.DistributionNotFound: 找不到 'django-omnibus' 发行版
Pyinstaller / Django - pkg_resources.DistributionNotFound: The 'django-omnibus' distribution was not found
我正在尝试为使用 django-omnibus 模块的 django 网站创建安装程序。
我的 Pyinstaller 命令:
pyinstaller --name djangosite manage.py
Pyinstaller 命令 运行s 完成。
尝试运行 Web 服务器使用
djangosite.exe runserver localhost:8000
我收到以下错误:
Traceback (most recent call last):
File "<string>", line 10, in <module>
File "django\core\management\__init__.py", line 338, in execute_from_command_line
File "django\core\management\__init__.py", line 312, in execute
File "django\__init__.py", line 18, in setup
File "django\apps\registry.py", line 85, in populate
File "django\apps\config.py", line 86, in create
File "importlib\__init__.py", line 37, in import_module
File "c:\users\USERNAME\appdata\local\temp\pip-build-vxcefe\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
File "omnibus\__init__.py", line 3, in <module>
File "pkg_resources\__init__.py", line 561, in get_distribution
File "pkg_resources\__init__.py", line 441, in get_provider
File "pkg_resources\__init__.py", line 962, in require
File "pkg_resources\__init__.py", line 849, in resolve
pkg_resources.DistributionNotFound: The 'django-omnibus' distribution was not found and is required by the application manage returned -1
如果我删除所有 django-omnibus 代码,该站点可以正常工作(显然我的 websocket 功能除外)。有任何想法吗?谢谢。
我需要为 django-omnibus
添加一个 hook.py 文件并向 pyinstaller 命令添加 --additional-hooks-dir=.
标志。
hook-omnibus.py
from PyInstaller.utils.hooks import copy_metadata, collect_data_files
datas = copy_metadata('django-omnibus')
datas += collect_data_files('omnibus')
这里有类似的答案:
https://github.com/pyinstaller/pyinstaller/issues/1713
我知道这是一个迟到的回复,但我在 django-user-accounts - pkg_resources.DistributionNotFound: The 'django-user-accounts' distribution was not found
中遇到了类似的问题
我在搜索修复程序时被引导到这里。我通过 settings.py 的以下补充解决了这个问题 - 希望对其他人有所帮助。
INSTALLED_APPS = [
...
'django.contrib.sites',
...
]
我正在尝试为使用 django-omnibus 模块的 django 网站创建安装程序。
我的 Pyinstaller 命令:
pyinstaller --name djangosite manage.py
Pyinstaller 命令 运行s 完成。
尝试运行 Web 服务器使用
djangosite.exe runserver localhost:8000
我收到以下错误:
Traceback (most recent call last):
File "<string>", line 10, in <module>
File "django\core\management\__init__.py", line 338, in execute_from_command_line
File "django\core\management\__init__.py", line 312, in execute
File "django\__init__.py", line 18, in setup
File "django\apps\registry.py", line 85, in populate
File "django\apps\config.py", line 86, in create
File "importlib\__init__.py", line 37, in import_module
File "c:\users\USERNAME\appdata\local\temp\pip-build-vxcefe\pyinstaller\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
File "omnibus\__init__.py", line 3, in <module>
File "pkg_resources\__init__.py", line 561, in get_distribution
File "pkg_resources\__init__.py", line 441, in get_provider
File "pkg_resources\__init__.py", line 962, in require
File "pkg_resources\__init__.py", line 849, in resolve
pkg_resources.DistributionNotFound: The 'django-omnibus' distribution was not found and is required by the application manage returned -1
如果我删除所有 django-omnibus 代码,该站点可以正常工作(显然我的 websocket 功能除外)。有任何想法吗?谢谢。
我需要为 django-omnibus
添加一个 hook.py 文件并向 pyinstaller 命令添加 --additional-hooks-dir=.
标志。
hook-omnibus.py
from PyInstaller.utils.hooks import copy_metadata, collect_data_files
datas = copy_metadata('django-omnibus')
datas += collect_data_files('omnibus')
这里有类似的答案: https://github.com/pyinstaller/pyinstaller/issues/1713
我知道这是一个迟到的回复,但我在 django-user-accounts - pkg_resources.DistributionNotFound: The 'django-user-accounts' distribution was not found
我在搜索修复程序时被引导到这里。我通过 settings.py 的以下补充解决了这个问题 - 希望对其他人有所帮助。
INSTALLED_APPS = [
...
'django.contrib.sites',
...
]