Python 3.7.9 中的虚拟环境。我错过了什么?
Virtual Environments in Python 3.7.9. What am I missing?
我的旧电脑坏了。这是我使用虚拟环境重新开始的机会。
我开始在新的 Windows 10 计算机上全新安装 python 2.7.18 和 3.7.9。 (我是为所有用户安装 3.7.9 还是为一个帐户安装 python 都没有关系。我都尝试过,结果相同。)
我想为 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)将不再出现。查看添加文件的位置,我看到对 C:\Users((username))\AppData\Local\Programs\Python\Python37\Lib\site-packages 进行了 pip 更改,而不是 D:((username))\Documents\Programming\Python((projectname)) \venv\Lib\site-packages,这是我所期望的。
当我再次启动 Python 3.7.9 时,我仍然安装了所有软件包,但没有加载我的虚拟环境。所以整个虚拟环境的概念完全被忽略了。
任何人都可以帮助我了解我做错了什么,更重要的是,我需要做哪些不同的事情吗?
谢谢
因为你的系统中有多个 python pip 是误导。您可以遵循两个选项:
Hard way:您可以更改环境变量以设置要使用的环境变量并删除其他路径 python。因此,除非您指定 python 的位置,否则您的包裹将没问题。你也应该为你的 pip 做同样的事情。当你只依赖环境变量时,破坏事情要容易得多。
简单方法:删除所有 python 版本并下载 anaconda。它可以在您享受编码的同时轻松顺畅地管理环境。
4 个月前我遇到了同样的问题,这里是问答:
Python and pip versions are different and potentially causing problem
试试这个,如果问题仍然存在,请告诉我。
py -3.7
将始终引用全局 python 安装并忽略您的 virtualenv
当你在你的 virtualenv 中时,你应该使用 python -m pip
而不是
感谢您的回复。原来py launcher和虚拟环境不兼容。这是我所做的。
我已经设置了批处理文件,这样我就可以 select 我正在使用的 python(2.7 或 3.7)。批处理文件将 Windows 路径设置为指向正确的 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 启动器。现在虚拟环境像我预期的那样工作了。
我的旧电脑坏了。这是我使用虚拟环境重新开始的机会。
我开始在新的 Windows 10 计算机上全新安装 python 2.7.18 和 3.7.9。 (我是为所有用户安装 3.7.9 还是为一个帐户安装 python 都没有关系。我都尝试过,结果相同。)
我想为 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)将不再出现。查看添加文件的位置,我看到对 C:\Users((username))\AppData\Local\Programs\Python\Python37\Lib\site-packages 进行了 pip 更改,而不是 D:((username))\Documents\Programming\Python((projectname)) \venv\Lib\site-packages,这是我所期望的。
当我再次启动 Python 3.7.9 时,我仍然安装了所有软件包,但没有加载我的虚拟环境。所以整个虚拟环境的概念完全被忽略了。
任何人都可以帮助我了解我做错了什么,更重要的是,我需要做哪些不同的事情吗?
谢谢
因为你的系统中有多个 python pip 是误导。您可以遵循两个选项:
Hard way:您可以更改环境变量以设置要使用的环境变量并删除其他路径 python。因此,除非您指定 python 的位置,否则您的包裹将没问题。你也应该为你的 pip 做同样的事情。当你只依赖环境变量时,破坏事情要容易得多。
简单方法:删除所有 python 版本并下载 anaconda。它可以在您享受编码的同时轻松顺畅地管理环境。
4 个月前我遇到了同样的问题,这里是问答: Python and pip versions are different and potentially causing problem
试试这个,如果问题仍然存在,请告诉我。
py -3.7
将始终引用全局 python 安装并忽略您的 virtualenv
当你在你的 virtualenv 中时,你应该使用 python -m pip
而不是
感谢您的回复。原来py launcher和虚拟环境不兼容。这是我所做的。
我已经设置了批处理文件,这样我就可以 select 我正在使用的 python(2.7 或 3.7)。批处理文件将 Windows 路径设置为指向正确的 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 启动器。现在虚拟环境像我预期的那样工作了。