在Windows而非Windows上的virtualenv上,在全局环境中安装软件包

时间:2019-06-21 18:53:28

标签: python pip virtualenv

我正在使用pycharm,为此,我正在使用python virtualenv。

我使用penv\Scripts\activate.bat命令激活virtualenv。但是,当我运行pip install requests时,它将安装在全局文件夹中,而不是本地virtualenv文件夹中。我不明白为什么会这样。

where python的输出如下:

E:\app-backend\penv\Scripts\python.exe
C:\Users\Hardik\AppData\Local\Programs\Python\Python37\python.exe

where pip的输出如下:

E:\app-backend\penv\Scripts\pip.exe
C:\Users\Hardik\AppData\Local\Programs\Python\Python37\Scripts\pip.exe

我已经尝试了一次又一次,但是它总是在全局文件夹中安装任何软件包。但是,当我使用E:\app-backend\penv\Scripts\pip.exe的{​​{1}}安装来运行任何命令时,它将在本地virtualenv中安装该软件包。

有人可以告诉我这是怎么回事吗?

2 个答案:

答案 0 :(得分:1)

我知道这是一个老问题,但是为将来会遇到此问题的任何人添加此解决方案。 在我的情况下,问题根源是我将虚拟env文件夹移到了其他位置,因此激活路径错误。 基本上对我来说,解决方法是:

  1. 打开activate.bat(对于Windows)并更正VIRTUAL_ENV的路径(对于Mac,将编辑激活)
  2. 之后,需要取消激活并再次激活。

这为我解决了这个问题。希望可以帮助某人。

答案 1 :(得分:0)

您应该从虚拟环境运行python。 例如:

E:\app-backend\penv\Scripts\python.exe -m pip list

但是您应该先激活您的venv:

E:\app-backend\penv\Scripts\activate