pyinstaller 要求提供已在 venv 和 -p 中确定提供的依赖项
pyinstaller asks for dependency that has assuredly been provided in venv and -p
尝试使用 pyinstaller 将可执行 python 模块转换为 .exe。所以我
- 创建了一个环境:
c:\Python39\python.exe -m venv %DIR_BASE%
,
- 激活它:
%DIR_BASE%\scripts\activate
,最后
- 写了一篇
requirements.txt
,包括行 jsonschema
,说
python -m pip install -r requirements.txt
现在主命令访问 pyinstaller.exe
。本身什么都不知道
除了我给它的 -p
参数之外的新环境,我希望这就足够了:
C:\python39\scripts\pyinstaller
-p "X:\paws\src\shared\python;X:\paws\PyEnv\Py39\Lib\site-packages;
X:\paws\PyEnv\Py39\Lib\site-packages\jsonschema;
X:\paws\PyEnv\Py39\Scripts"
-n ptGui
%DIR_BASE%\prototype_gui\__main__.py
唉,我得到了:
File "c:\python39\lib\site-packages\pkg_resources\__init__.py", line 785, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'jsonschema' distribution was not found
and is required by the application
但是,我非常肯定那个环境(!)安装
打包成功:
(Py39) X:\paws\PyEnv\Py39\Lib\site-packages>ls -1 | grep jsonschema
jsonschema
jsonschema-3.2.0.dist-info
很确定这是一些初学者的误解。你们有没有人看到它,
并会告诉我如何做对吗?
我可以回答我自己的问题。显然在基本安装上安装 pyinstaller
是错误的,从那里使用它,并期望一切正常。
我现在使用
而不是 C:\python39\python -m pip install pyinstaller
X:\PyEnv\Py39\Scripts\activate
python -m pip install pyinstaller
产生特定于环境的 X:\PyEnv\Py39\Scripts\pyinstaller.exe
。使用那个一切都很好。
尝试使用 pyinstaller 将可执行 python 模块转换为 .exe。所以我
- 创建了一个环境:
c:\Python39\python.exe -m venv %DIR_BASE%
, - 激活它:
%DIR_BASE%\scripts\activate
,最后 - 写了一篇
requirements.txt
,包括行jsonschema
,说 python -m pip install -r requirements.txt
现在主命令访问 pyinstaller.exe
。本身什么都不知道
除了我给它的 -p
参数之外的新环境,我希望这就足够了:
C:\python39\scripts\pyinstaller
-p "X:\paws\src\shared\python;X:\paws\PyEnv\Py39\Lib\site-packages;
X:\paws\PyEnv\Py39\Lib\site-packages\jsonschema;
X:\paws\PyEnv\Py39\Scripts"
-n ptGui
%DIR_BASE%\prototype_gui\__main__.py
唉,我得到了:
File "c:\python39\lib\site-packages\pkg_resources\__init__.py", line 785, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'jsonschema' distribution was not found
and is required by the application
但是,我非常肯定那个环境(!)安装 打包成功:
(Py39) X:\paws\PyEnv\Py39\Lib\site-packages>ls -1 | grep jsonschema
jsonschema
jsonschema-3.2.0.dist-info
很确定这是一些初学者的误解。你们有没有人看到它, 并会告诉我如何做对吗?
我可以回答我自己的问题。显然在基本安装上安装 pyinstaller
是错误的,从那里使用它,并期望一切正常。
我现在使用
而不是C:\python39\python -m pip install pyinstaller
X:\PyEnv\Py39\Scripts\activate
python -m pip install pyinstaller
产生特定于环境的 X:\PyEnv\Py39\Scripts\pyinstaller.exe
。使用那个一切都很好。