pip 在全局站点包中安装 Pyinstaller,而不是 venv

问题描述 投票:0回答:1

我使用以下命令创建了虚拟环境:

py -m venv pygui

然后我在CMD提示符下激活它:

cd pygui/Scripts
activate.bat

但是,当我尝试使用 pip 安装新库时,我在列表中没有看到它。

pip install pyinstaller
pip list

我能看到的唯一图书馆是: 点 23.2.1

即使我尝试将其安装在环境之外,如:

py -m pip install pyinstaller --upgrade

我无法调用它,因为我收到以下错误:

我检查了环境变量中的“路径”,对我来说看起来是正确的。

C:\Users\USER\AppData\Local\Programs\Python\Python312\Scripts
C:\Users\USER\AppData\Local\Programs\Python\Python312
C:\Users\USER\AppData\Local\Programs\Python\Launcher\
%USERPROFILE%\AppData\Local\Microsoft\WindowsApps
C:\Users\USER\AppData\Local\Programs\Microsoft VS Code\bin
python pip virtualenv pyinstaller
1个回答
1
投票

更奇怪的是,为了解决这个问题,我必须执行以下设置:

[Set-ExecutionPolicy] 根据 Rahul Chauhan 在 virtualenv activate does not work 中提供的答案,我更新了执行策略。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUs

[更新pip.ini]然后根据Uralbi中的pip安装在全局站点包而不是virtualenv中,我更新了以下目录中“pip.ini”中的内容:“C:\Users\user_name \AppData\Roaming\pip\pip.ini"。

[global]
trusted-host = pypi.org files.pythonhosted.org pypi.python.org
default-timeout = 60
respect-virtualenv = true
download-cache = /tmp
log-file = /tmp/pip-log.txt

[.venv] 最后创建.venv,激活它并将.py转换为.exe。

python -m venv .venv
.venv\Scripts\activate.ps1
pip install -r requirements.txt
python -m PyInstaller --onefile -w 'main.py'

[pyinstaller 错误]:请注意,以避免在 VS Code 中使用 pyinstaller 时出现此 *win32ctypes.pywin32.pywintypes.error - 可能是病毒/木马? 错误:

File "C:\Users\xxxxx\AppData\Local\Programs\Python\Python311\Lib\site-packages\PyInstaller\utils\win32\icon.py", line 143, in CopyIcons_FromIco
    hdst = win32api.BeginUpdateResource(dstpath, 0)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\xxxxx\AppData\Local\Programs\Python\Python311\Lib\site-packages\win32ctypes\pywin32\win32api.py", line 208, in BeginUpdateResource
    with _pywin32error():
  File "C:\Users\xxxxx\AppData\Local\Programs\Python\Python311\Lib\contextlib.py", line 155, in __exit__
    self.gen.throw(typ, value, traceback)
  File "C:\Users\xxxxx\AppData\Local\Programs\Python\Python311\Lib\site-packages\win32ctypes\pywin32\pywintypes.py", line 37, in pywin32error
    raise error(exception.winerror, exception.function, exception.strerror)
**win32ctypes.pywin32.pywintypes.error: (225, 'BeginUpdateResourceW', 'Operation did not complete successfully because the file contains a virus or potentially unwanted software.')**

您可以使用旧版本(5.13.2)的 PyInstaller:

pip install pyinstaller==5.13.2

如果其他人有替代或更好的解决方案,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.