操作系统: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/ 待更改用户的目录