简体   繁体   English

Pip 未安装在 virtualenv 中

[英]Pip does not install in virtualenv

I've installed pip w/o system packages.我已经安装了 pip w/o 系统包。

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

which python
/home/pdaly/envs/py3/bin/python

When I install via pip inside the virtualenv it seems to be using the system pip instead of the virtual env pip despite which pip pointing to the env.当我通过 pip 在 vi​​rtualenv 中安装时,它似乎正在使用系统 pip 而不是虚拟 env pip,尽管哪个 pip 指向 env。 I get the following error我收到以下错误

PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/pandas-0.23.4.dist-info'

How do I fix this?我该如何解决?

note: there are 20-30 people all using this machine installing packages directly to the system python...注意:有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>/

As mentioned in one of the comments (kudos @mydaemon), the venv you're working with is a python3 environment, which is not compatible with python2 libs/scripts.正如其中一条评论 (kudos @mydaemon) 中提到的,您正在使用的 venv 是一个 python3 环境,它与 python2 库/脚本不兼容。 In addition, if you didn't activate your environment, then any python scripts/tools will continue to run on the system python (which looks like python2.7 in this case).此外,如果你没有激活你的环境,那么任何 python 脚本/工具将继续在系统 python 上运行(在这种情况下看起来像 python2.7)。

To get this working as python3, simply: ( edit : new info shows that this env is indeed an activated python3 env, so this won't work).要使其作为 python3 工作,只需:(编辑:新信息显示此 env 确实是一个激活的 python3 env,因此这不起作用)。

 . ${HOME}/envs/py3/bin/activate pip install panda

To use python2:使用 python2:

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

Edit : Pandas on PyPi is a python 2.x library and will not work with pip on python3.编辑PyPi 上的 Pandas是一个 python 2.x 库,不能与 python3 上的 pip 一起使用。 The Pandas website recommends installing via anaconda Pandas 网站推荐通过anaconda安装

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM