PIP全局安装,而不是在虚拟环境中-即使所有路径和PIP都指向正确的位置 [英] Pip installing globally and not in virtual environment --- even with all paths and pip pointing to the right place

查看:0
本文介绍了PIP全局安装,而不是在虚拟环境中-即使所有路径和PIP都指向正确的位置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经阅读了pip installing in global site-packages instead of virtualenv并确保一切正常,我甚至在virtaulenv中使用Easy_Install重新安装了pip。

发生的事情很奇怪。首先,如果没有sudo,它不会让我安装一个包。如果我读取文本输出,它会像预期的那样将其放在Virtualenv路径中。然后我使用sudo,它起作用了。

但如果我尝试安装该程序包(在本例中为django-bootstrap3),则它会显示:

(env)kevin@g3:~/djangoP/work$ sudo pip install django-bootstrap3
Requirement already satisfied (use --upgrade to upgrade): django-bootstrap3 in /usr/local/lib/python3.4/dist-packages

根据我的理解,这意味着它安装在Virtualenv之外。

我真的不知道该怎么办。我读了一些博客,很多人都有这个问题的变体,但我似乎找不到自己的解决方案。

我正在使用Ubuntu 14,Python2.7,并在我的主目录中工作。

任何帮助都是最好的。

谢谢。

推荐答案

不应使用sudovirtualenv中安装包。

在我看来,这是一个文件权限问题。pipvirtualnev是以根权限ANT安装的,这就是当您尝试在virtualenv中安装新程序包时需要sudo的原因。

检查您正在使用的可执行文件的文件权限(virtualenvpip)。

dm@Z580:~$ which virtualenv
/usr/local/bin/virtualenv
dm@Z580:~$ ls -l /usr/local/bin/virtualenv
-rwxr-xr-x 1 root root 214 aug 18 21:20 /usr/local/bin/virtualenv

dm@Z580:~$ which pip
/usr/local/bin/pip
dm@Z580:~$ ls -l /usr/local/bin/pip
-rwxr-xr-x 1 root root 207 jun  3 15:33 /usr/local/bin/pip


dm@Z580:~$ virtualenv -p python2.7 testenv 
Running virtualenv with interpreter /usr/bin/python2.7
New python executable in testenv/bin/python2.7
Also creating executable in testenv/bin/python
Installing setuptools, pip, wheel...done.
dm@Z580:~$ source testenv/bin/activate

(testenv)dm@Z580:~$ which pip
/home/dm/testenv/bin/pip
(testenv)dm@Z580:~$ ls -l /home/dm/testenv/bin/pip
-rwxrwxr-x 1 dm dm 219 sep 21 17:29 /home/dm/testenv/bin/pip

这篇关于PIP全局安装,而不是在虚拟环境中-即使所有路径和PIP都指向正确的位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆