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

我的旧电脑坏了。这是我重新开始使用虚拟环境的机会。


我开始在新的 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 时,我仍然安装了所有软件包,而没有加载我的虚拟环境。所以整个虚拟环境的概念被完全忽略了。


谁能帮助我了解我做错了什么,更重要的是,我需要采取哪些不同的做法?


SMILET
浏览 122回答 3
3回答

回首忆惘然

py -3.7将始终引用全局 python 安装并忽略您的 virtualenv当你在 virtualenv 中时,你应该python -m pip使用

一只斗牛犬

事实证明,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 启动器。现在虚拟环境就像我预期的那样工作。

qq_花开花谢_0

因为你的系统中有不止一个 python pip 会被误导。您可以遵循两个选项:困难的方法:您可以更改环境变量来设置您要使用的环境变量并删除 python 的其他路径。因此,除非您指定 python 的位置,否则您的包就可以了。您也应该为您的点做同样的事情。当您仅依赖环境变量时,破坏事物会更容易。简单的方法:删除所有 python 版本并下载 anaconda。当您享受编码的同时,它可以轻松流畅地管理环境。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python