在virtualenv虚拟环境下使用pip

在virtualenv虚拟环境下使用pip

今天在virtualenv环境下使用pip安装django的时候出现pip权限不够的问题,[PS:又是权限的问题] 经过一番折腾,将正确姿势写一下。


首先创建virtualenv文件

$ virtualenv --python=python27 /path/to/source/../virtualenv

使用这个新创建的虚拟环境

$ source ../virtualenv/bin/activate

查看当前使用的python环境

(virtualenv)$ which python
/workspace/virtualenv/bin/python

好了,准备工作完成,此时我们要使用pip命令安装package(以django为例)

(virtualenv)$ pip install django==1.8.2
[...]
OSError: [Errno 13] 权限不够:'/local/code/workspace_superlists/virtualenv/lib/python2.7/site-packages/Django-1.8.2.dist-info'

一大堆错误之后,权限不够的报错来了。按照以往经验,sudo一下就可以了,于是试了一下

(virtualenv)$ sudo pip install django==1.8.2
Requirement already satisfied (use --upgrade to upgrade): django==1.8.2 in /usr/local/lib/python2.7/dist-packages
Cleaning up...

下面又说了,django1.8.2版本已经存在了,明明刚创建的虚拟环境,仔细一看发现原来sudo之后使用了/usr/local/lib/python2.7全局python下的pip命令,一脸懵逼

最后发现原来是所在virtualenv环境的文件夹赋予当前用户的权限不足:

(virtualenv)$ sudo chown tagor /path/to/workspace/virtualenv/
(virtualenv)$ pip install django==1.8.2

这下OK。

为了保存虚拟环境中所需的包列表,也为了以后能再次创建相同的虚拟环境,可以执行pip freeze命令,创建一个requirements.txt文件,把这个文件添加到仓库

(virtualenv)$ sudo touch ../sourse/requirement.txt
(virtualenv)$ pip freeze > ../sourse/requirement.txt
bash: sourse/requirment.txt: 权限不够

同样的方法

(virtualenv)$ sudo chown tagor /path/to/workspace/sourse/requirement.txt
(virtualenv)$ cat ../sourse/requirement.txt
Django==1.8.2
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值