解决python虚拟环境用pip装包报Permission denied

操作系统:64位的Ubuntu14.04。
产生错误的操作步骤:

cd /var/
sudo virtualenv marsapp
sudo cp ~/myproject /var/marsapp
cd /var/marsapp/
source bin/activate
cd myproject/
pip install -r requirements.txt

这时候就遇到了报错:

IOError: [Errno 13] Permission denied: '/var/marsapp/lib/python2.7/site-packages/six.py'

但是将pip install -r requirements.txt前面加sudo后,库又装到系统环境。

问题原因:

marsapp目录所属用户非当前用户。可以通过ls -l来查看marsapp目录所属用户
cd /var/
ls -l
# 显示内容如下
drwxr-xr-x  9 root root   4096 Jun 13 02:13 marsapp

解决办法:

将marsapp目录及其文件的所有者改为当前用户
cd /var/
sudo chown -R currentuser marsapp/  
ls -l
# 显示内容如下
drwxr-xr-x  9 currentuser root   4096 Jun 13 02:13 marsapp

解释:

chown change owner的意思。
-R 将marsapp目录及其内容的所有者改为新的所有者
currentuser 当前用户(别说你不知道自己是谁。如果真不知道,试试:whoami命令)
marsapp/ 待更改用户的目录

参考地址:
https://segmentfault.com/q/1010000003783131/a-1020000003790923

你可能感兴趣的:(Python)