为了账号安全,请及时绑定邮箱和手机立即绑定

Python 3.7.9 中的虚拟环境。我缺少什么?

Python 3.7.9 中的虚拟环境。我缺少什么?

SMILET 2023-09-05 21:18:43
我的旧电脑坏了。这是我重新开始使用虚拟环境的机会。我开始在新的 Windows 10 计算机上全新安装 python 2.7.18 和 3.7.9。(无论我为所有用户安装 python 3.7.9 还是只为一个帐户安装 python 3.7.9,都没有关系。我已经尝试过这两种方法,结果相同。)我想为 python 3 设置venv。(我尝试使用venv和virtualenv得到相同的结果。)我进入我的项目目录并输入:py -3.7 -m pip list>Package    Version>---------- ------->pip        20.2.3  >setuptools 47.1.0我为我的项目创建一个虚拟环境。py -3.7 -m venv venv并激活虚拟环境。venv\Scripts\activate.bat提示符更改为显示我正在使用虚拟环境。py -3.7 -m pip list>Package    Version>---------- ------->pip        20.2.3  >setuptools 47.1.0现在我将每日构建的 wxPython 安装到虚拟环境中。py -3.7 -m pip install "d:\((username))\Downloads\Python\python3.7-64\wxPython-4.1.1a1.dev4959+47c4a913-cp37-cp37m-win_amd64.whl"这样就成功安装了wxPython。提示显示我仍在虚拟环境中。我确认安装。py -3.7 -m pip list>Package    Version>---------- ------------------------>numpy      1.19.2   >Pillow     7.2.0   >pip        20.2.3   >setuptools 47.1.0   >six        1.15.0   >wxPython   4.1.1a1.dev4959+47c4a913  这正是我所期望的。我现在停用虚拟环境。deactivate提示发生变化,所以我不再使用虚拟环境。但py -3.7 -m pip list>Package    Version>---------- ------------------------>numpy      1.19.2  >Pillow     7.2.0  >pip        20.2.3  >setuptools 47.1.0  >six        1.15.0  >wxPython   4.1.1a1.dev4959+47c4a913  这不是我所期望的。我以为 wxPython(以及 numpy、Pillow 和 6)将不再出现。查看添加文件的位置,我发现 pip 更改是对 C:\Users((username))\AppData\Local\Programs\Python\Python37\Lib\site-packages 进行的,而不是对 D:((username) )\Documents\Programming\Python((projectname))\venv\Lib\site-packages,这是我所期望的。当我再次启动 Python 3.7.9 时,我仍然安装了所有软件包,而没有加载我的虚拟环境。所以整个虚拟环境的概念被完全忽略了。谁能帮助我了解我做错了什么,更重要的是,我需要采取哪些不同的做法?
查看完整描述

3 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

py -3.7将始终引用全局 python 安装并忽略您的 virtualenv

当你在 virtualenv 中时,你应该python -m pip使用


查看完整回答
反对 回复 2023-09-05
?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

事实证明,py启动器和虚拟环境不兼容。这就是我所做的。


我已经设置了批处理文件,以便我可以选择我正在使用的 python(2.7 或 3.7)。批处理文件将 Windows PATH 设置为指向正确的 Python 安装。(我还没有设置任何其他环境变量,但如果我发现需要的话,我会编辑它。)


然后,在使用 python 3.7 设置和访问虚拟环境时,我使用“python”而不是“py -3.7”。


所以当我在虚拟环境中时


python -m pip list


>numpy      1.19.2  

>Pillow     7.2.0  

>pip        20.1.1  

>setuptools 47.1.0  

>six        1.15.0  

>wxPython   4.1.1a1.dev4959+47c4a913  

给我的结果与


py -3.7 -m pip list


>pip        20.1.1   

>setuptools 47.1.0

所以你好设置路径,再见 py 启动器。现在虚拟环境就像我预期的那样工作。


查看完整回答
反对 回复 2023-09-05
?
qq_花开花谢_0

TA贡献1835条经验 获得超6个赞

因为你的系统中有不止一个 python pip 会被误导。您可以遵循两个选项:

  1. 困难的方法:您可以更改环境变量来设置您要使用的环境变量并删除 python 的其他路径。因此,除非您指定 python 的位置,否则您的包就可以了。您也应该为您的点做同样的事情。当您仅依赖环境变量时,破坏事物会更容易。

  2. 简单的方法:删除所有 python 版本并下载 anaconda。当您享受编码的同时,它可以轻松流畅地管理环境。

查看完整回答
反对 回复 2023-09-05
  • 3 回答
  • 0 关注
  • 117 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信