我已经阅读了关于这个主题的几个主题和文档,但找不到适合我的“简单”解决方案,因为我是 Python 的初学者。
我通过 venv(在 Windows 上)创建了一个 Python 虚拟环境,因为我遇到了“PATH”和 pip 包的一些问题。
我的 venv 是这样创建、激活和配置的:
(fortiupdate.venv) c:\[...]\fortiupdate.venv\Scripts>echo %PATH%
c:\[...]\fortiupdate.venv\Scripts;C:\Program Files (x86)\VMware\VMware vSphere CLI\Perl\site\bin;
(fortiupdate.venv) c:\[...]\fortiupdate.venv\Scripts>where python
c:\[...]\fortiupdate.venv\Scripts\python.exe
(fortiupdate.venv) c:\[...]\fortiupdate.venv\Scripts>where pip
c:\[...]\fortiupdate.venv\Scripts\pip.exe
当我安装一个软件包时:
pip install django
下载和安装都可以,但是“pip list”不会返回要安装/可用的 django 包。
我试过了:
(fortiupdate.venv) c:\[...]\fortiupdate.venv\Scripts>pip config list
:env:.target='C:\\Users\\[..]\\AppData\\Local\\Programs\\Python\\Python312\\Scripts'
global.index-url='https://<private_repo>/artifactory/api/pypi/pythonproxy/simple'
我确认软件包安装在“:env:.target”目录中,而不是“.venv/lib/site-packages”目录中
如果我可以在脚本中使用软件包,那么软件包安装在哪里对我来说并不重要。 但实际上,pip 将软件包安装在 .../APPData/... 中,但如果我尝试列出/使用它们,则在我的 .venv 目录中搜索它们!
我该如何解决此行为?
(我更喜欢使用 .venv 目录来通过 pip 下载软件包,但如果您有一个解决方案,可以在我执行 .py 脚本时使用 /AppData/ 中的软件包,那么这将是一个可接受的解决方法)
有时我真的不明白为什么初学者会选择 vs code 或其他必须创建虚拟环境的 ide。尝试使用 pycharm,因为 virtualenv 工具与 PyCharm 捆绑在一起,因此用户不需要安装它。然后当你获得更多经验时,你就可以随时切换你的编辑器