我的旧电脑坏了。这是我使用虚拟环境重新开始的机会。
我首先在一台新的Windows 10计算机上重新安装python 2.7.18和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,的更改,这正是我所期望的。
当我再次启动Python3.7.9时,我仍然可以在没有加载虚拟环境的情况下安装所有软件包。因此,整个虚拟环境的概念被完全忽视。
有谁能帮我理解我做错了什么,更重要的是,我需要做些什么?
谢谢
发布于 2020-09-28 15:02:43
谢谢你的回复。事实证明,py发射器和虚拟环境是不兼容的。这就是我所做的。
我设置了批处理文件,以便可以选择使用哪个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发射器。现在,虚拟环境就像我所期望的那样工作。
发布于 2020-09-25 23:54:52
py -3.7
将始终引用全局python安装,而忽略您的虚拟化and。
当您在虚拟环境中时,应该使用python -m pip
来代替
发布于 2020-09-25 23:43:27
因为您的系统中有多个python,所以pip是错误的。您可以遵循以下两种选择:
4个月前,我遇到了同样的问题,下面是问题和答案:Python and pip versions are different and potentially causing problem
试试这个,如果问题还在继续,请告诉我。
https://stackoverflow.com/questions/64072312
复制相似问题