Python 2.7 如何防止virtualenv替换软件包?

Python 2.7 如何防止virtualenv替换软件包?,python-2.7,pip,virtualenv,Python 2.7,Pip,Virtualenv,在提问之前,我提到了这些问题: 目前,我已经创建了一个虚拟环境,如下所示: export PYTHONPATH= virtualenv --no-site-packages env4 source env4/bin/activate 然后安装了以下软件包: (env4) shuba@shuba-XPS-13-9360: pip install numpy==1.13.1 (系统numpy具有v1.15) 熊猫也是如此。 但是,当我尝试安装以下其他软件包时: (env4) shuba@sh

在提问之前,我提到了这些问题:

目前,我已经创建了一个虚拟环境,如下所示:

export PYTHONPATH=
virtualenv --no-site-packages env4
source env4/bin/activate
然后安装了以下软件包:

(env4) shuba@shuba-XPS-13-9360: pip install numpy==1.13.1
(系统numpy具有v1.15)

熊猫也是如此。 但是,当我尝试安装以下其他软件包时:

(env4) shuba@shuba-XPS-13-9360: pip install  python-dateutil==2.6.1
Collecting python-dateutil==2.6.1
  Downloading https://files.pythonhosted.org/packages/4b/0d/7ed381ab4fe80b8ebf34411d14f253e1cf3e56e2820ffa1d8844b23859a2/python_dateutil-2.6.1-py2.py3-none-any.whl (194kB)
    100% |████████████████████████████████| 194kB 4.9MB/s 
Requirement already satisfied: six>=1.5 in ./env4/lib/python2.7/site-packages (from python-dateutil==2.6.1) (1.11.0)
Installing collected packages: python-dateutil
  Found existing installation: python-dateutil 2.7.3
    Uninstalling python-dateutil-2.7.3:
      Successfully uninstalled python-dateutil-2.7.3
Successfully installed python-dateutil-2.6.1
表示它已替换系统级python dateutil。我还通过在虚拟环境外部运行pipfreeze进行了检查

我发现令人困惑的是dateutil存在于python2.7的dist packages文件夹中,但它得到了更新,而其他答案提到了virtualenv pip包含了原始安装中的那些

pytz也发生了同样的事情:

(env4) shuba@shuba-XPS-13-9360: pip install pytz==2017.2
Collecting pytz==2017.2
Downloading https://files.pythonhosted.org/packages/55/62/e7cd0e15b76062d298413f14bb4ec3cd8568a22d274427f9c3c7286969f4/pytz-2017.2-py2.py3-none-any.whl (484kB)
    100% |████████████████████████████████| 491kB 4.7MB/s 
Installing collected packages: pytz
Found existing installation: pytz 2018.5
Uninstalling pytz-2018.5:
Successfully uninstalled pytz-2018.5
Successfully installed pytz-2017.2

有没有办法解决我遇到的上述问题?

第一个命令
pip install numpy==1.13.1
正在env4虚拟环境中运行。但是另外两个
pip-install
命令呢?他们似乎在任何一个venv之外运行。我忘了把文字贴在那里。它们在虚拟环境中运行。
echo$PYTHONPATH
在环境4中运行
python-c“import sys;print sys.path”
echo$PYTHONPATH
给出一个空行
python-c print sys.path
其中,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,//opt/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////gnu',“/usr/lib/python2.7/lib-tk”“,/opt/custom_-python\u-venv/martingale4/local/lib/python2.7/site-packages”“,/opt/custom\u-python\u-venv/martingale4/site-packages”“,/opt/custom/python\u-venv/martingale4/lib/python2.7/site-packages”“,”
我一次看到两个虚拟环境:
env4
martingale4
pip-install似乎取代了<。
(env4) shuba@shuba-XPS-13-9360: pip install pytz==2017.2
Collecting pytz==2017.2
Downloading https://files.pythonhosted.org/packages/55/62/e7cd0e15b76062d298413f14bb4ec3cd8568a22d274427f9c3c7286969f4/pytz-2017.2-py2.py3-none-any.whl (484kB)
    100% |████████████████████████████████| 491kB 4.7MB/s 
Installing collected packages: pytz
Found existing installation: pytz 2018.5
Uninstalling pytz-2018.5:
Successfully uninstalled pytz-2018.5
Successfully installed pytz-2017.2