我的旧计算机坏了。这是我使用虚拟环境重新开始的机会。
我首先在新的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)将不再显示。查看添加文件的位置,我发现对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时,我仍然安装了所有软件包而没有加载我的虚拟环境。因此整个虚拟环境概念被完全忽略了。
有人可以帮助我了解我做错了什么,更重要的是,我需要做些不同的事情吗?
谢谢
答案 0 :(得分:0)
py -3.7
将始终引用全局python安装,并忽略您的virtualenv
在您的虚拟环境中时,应改用python -m pip
答案 1 :(得分:-1)
因为您的系统pip中有多个python会误导您。您可以遵循两个选项:
困难的方式:您可以更改环境变量以设置要使用的环境变量,并删除python的其他路径。因此,除非您指定python的位置,否则您的软件包就可以了。您也应该对点进行相同的操作。当您仅依赖环境变量时,破坏事物就容易得多。
简便方法:删除所有python版本并下载anaconda。在您享受编码的同时,它可以轻松,顺畅地管理环境。
4个月前,我遇到了同样的问题,这是问题和答案: Python and pip versions are different and potentially causing problem
尝试这个,让我知道问题是否仍然存在。
答案 2 :(得分:-1)
感谢您的答复。事实证明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启动器。现在虚拟环境可以像我期望的那样工作。