我的本地PC上只有1个库,为numpy。我在文件夹中创建了一个虚拟环境,将其激活,然后在其中pip安装了django。 django在我的venv的site-packages文件夹中,但是如果我在我的PC上的任何地方激活venv来运行pip冻结,则表明numpy异常。 我可以运行任何需要安装在venv中的软件包的命令的唯一方法是从该文件夹运行它。 我见过许多类似的问题,但是它们很旧或无法回答为什么会发生这种情况。 例如,我在命令行中输入:
C:\Users\myname\Desktop>python -m pip freeze
numpy==1.9.6
C:\Users\myname\Desktop\Venv0\Scripts>python -m pip freeze
Django==2.2.7
pytz==2019.3
sqlparse==0.3.0
C:\Users\eloim\Desktop\Venv0\Scripts>activate
(Venv0) C:\Users\eloim\Desktop\Venv0\Scripts>
(Venv0) C:\Users\eloim\Desktop\Venv0\Scripts>python -m pip freeze
Django==2.2.7
pytz==2019.3
sqlparse==0.3.0
(Venv0) C:\Users\eloim\Desktop>python -m pip freeze
numpy==1.9.6
据我阅读的文档显示,激活venv后,我应该只能找到django软件包。我哪里错了?我不了解哪个概念?
我问这个问题是因为我必须在特定的文件夹中运行django的一些命令,但是scripts文件夹之外的任何地方都找不到软件包。
预先感谢
-编辑- 这是我在哪里使用python时得到的:
C:\Users\myname>where python
C:\Users\myname\AppData\Local\Programs\Python\Python37-32\python.exe
C:\Users\myname\AppData\Local\Microsoft\WindowsApps\python.exe
(Venv0) C:\Users\myname\Desktop>where python
C:\Users\myname\AppData\Local\Programs\Python\Python37-32\python.exe
C:\Users\myname\AppData\Local\Microsoft\WindowsApps\python.exe
(Venv0) C:\Users\myname\Desktop\Venv0\Scripts>where python
C:\Users\myname\Desktop\Venv0\Scripts\python.exe
C:\Users\myname\AppData\Local\Programs\Python\Python37-32\python.exe
C:\Users\myname\AppData\Local\Microsoft\WindowsApps\python.exe
看到这个即时消息后,我就迷路了激活VE后,什么都没有改变,那为什么有用呢?
这也是点冻结导致的结果:
C:\Users\myname>pip freeze
numpy==1.9.6
(Venv0) C:\Users\myname\Desktop>pip freeze
numpy==1.9.6
(Venv0) C:\Users\myname\Desktop\Venv0\Scripts>pip freeze
Fatal error in launcher: Unable to create process using '"c:\users\myname\venv0\scripts\python.exe" "C:\Users\myname\Desktop\Venv0\Scripts\pip.exe" freeze'
C:\Users\eloim\Desktop\Venv0\Scripts>pip freeze
Fatal error in launcher: Unable to create process using '"c:\users\eloim\venv0\scripts\python.exe" "C:\Users\eloim\Desktop\Venv0\Scripts\pip.exe" freeze'
因此,再次看来,激活VE实际上并没有改变我的python,但是此错误显然意味着某些事情。 感谢您已经提供的帮助。
答案 0 :(得分:0)
根据您的描述,有2个观察结果。
- “ C:\ Users \ myname \ Desktop”是您的主要Python安装目录
- 您已将numpy安装在“ C:\ Users \ myname \ Desktop”上,而不是在“ C:\ Users \ eloim \ Desktop \ Venv0 \ Scripts”上
而不是使用'python -m pip Frozen',只需使用'pip Frozen'。您会看到区别。
To install package in your virtualenv
1. Activate virtual env and install using 'pip install <package>'
请记住:这不是问题。
In your case ,
1. the keyword 'python' is creating a confusion for you.
2. When you use python , it is considering the 'python.exe' path , rather than the directory you are in.