Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pip不安装在virtualenv中_Python_Linux_Pip - Fatal编程技术网

Python Pip不安装在virtualenv中

Python Pip不安装在virtualenv中,python,linux,pip,Python,Linux,Pip,我已经安装了不带系统包的pip which pip /home/pdaly/envs/py3/bin/pip which python /home/pdaly/envs/py3/bin/python 当我在virtualenv中通过pip安装时,它似乎使用系统pip而不是虚拟环境pip,尽管哪个pip指向环境。我得到以下错误 PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packag

我已经安装了不带系统包的pip

which pip
/home/pdaly/envs/py3/bin/pip

which python
/home/pdaly/envs/py3/bin/python
当我在virtualenv中通过pip安装时,它似乎使用系统pip而不是虚拟环境pip,尽管哪个pip指向环境。我得到以下错误

PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/pandas-0.23.4.dist-info'
我该如何解决这个问题

注意:有20-30人都在使用这台机器直接将软件包安装到系统python

(py3) pdaly@gpu01:~$ /home/pdaly/envs/py3/bin/python -c "import os, sys; print(os.linesep.join(sys.path))"
/home/pdaly/<private repo 1>/lib
/home/pdaly/<private repo 2>
/home/pdaly/<private repo 3>
/home/pdaly/envs/py3/lib/python35.zip
/home/pdaly/envs/py3/lib/python3.5
/home/pdaly/envs/py3/lib/python3.5/plat-x86_64-linux-gnu
/home/pdaly/envs/py3/lib/python3.5/lib-dynload
/usr/lib/python3.5
/usr/lib/python3.5/plat-x86_64-linux-gnu
/home/pdaly/envs/py3/lib/python3.5/site-packages

(py3) pdaly@gpu01:~$ echo $PYTHONPATH
/home/pdaly/<private repo 1>/lib/:/home/pdaly/<private repo 2>/:/home/pdaly/<private repo 3>/
(py3)pdaly@gpu01:~$/home/pdaly/envs/py3/bin/python-c“导入操作系统,sys;打印(os.linesep.join(sys.path))”
/home/pdaly//lib
/主页/个人主页/
/主页/个人主页/
/home/pdaly/envs/py3/lib/python35.zip
/home/pdaly/envs/py3/lib/python3.5
/home/pdaly/envs/py3/lib/python3.5/plat-x86_64-linux-gnu
/home/pdaly/envs/py3/lib/python3.5/lib-dynload
/usr/lib/python3.5
/usr/lib/python3.5/plat-x86_64-linux-gnu
/home/pdaly/envs/py3/lib/python3.5/site-packages
(py3)pdaly@gpu01:~$echo$PYTHONPATH
/home/pdaly//lib/:/home/pdaly/:/home/pdaly//

如其中一条评论(kudos@mydaemon)所述,您正在使用的venv是一个python3环境,它与python2 libs/脚本不兼容。此外,如果您没有激活您的环境,那么任何python脚本/工具都将继续在系统python上运行(在本例中类似于python2.7)

要使其作为python3工作,只需:(edit:新信息显示此环境确实是一个激活的python3环境,因此无法工作)

要使用python2:

virtualenv --python=python2.7 ${HOME}/envs/py2
. ${HOME}/envs/py2/bin/activate
pip install panda

编辑:是Python2.x库,不能与python3上的pip一起使用。建议通过

安装您正在运行的哪些命令会产生PermissionError?从envI中运行的pip install pandas猜测您在调用pip之前确实激活了venv,但请注意它正试图安装在python2.7 dist lib上,但您有一个用于python3的venv。@isydmr这只是一个无用的回答;他不想在系统上安装,但在这个venv上。您能运行
/home/pdaly/envs/py3/bin/python-c“导入操作系统,sys;打印(os.linesep.join(sys.path))”
并将输出添加到问题中吗?还要检查您是否有
PYTHONPATH
env var集:
echo$PYTHONPATH
。如果他使用Python 3,不是应该是pip3安装pandas而不是pip安装pandas吗?在上面的评论中,我说我从w/在客户机中运行了pip安装,就像您上面键入的一样。PermissionError是我运行该命令时收到的。@Alexis.Rolland@pmdaly:当激活python3 env时,
pip
命令只是
pip3
的别名。。。它引用了安装在env中的脚本。这就是为什么两个命令都会出现完全相同的错误。
virtualenv --python=python2.7 ${HOME}/envs/py2
. ${HOME}/envs/py2/bin/activate
pip install panda