我使用以下命令创建了虚拟环境:
py -m venv pygui
然后我在CMD提示符下激活它:
cd pygui/Scripts
activate.bat
但是,当我尝试使用 pip 安装新库时,我在列表中没有看到它。
pip install pyinstaller
pip list
即使我尝试将其安装在环境之外,如:
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
更奇怪的是,为了解决这个问题,我必须执行以下设置:
[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
如果其他人有替代或更好的解决方案,请告诉我。