dun*_*anm 13 permissions virtualenv virtualenvwrapper python-2.7 ubuntu-12.10
简而言之,我的问题是,当我尝试使用virtualenvwrapper中的mkvirtualenv创建virtualenv时,我收到以下错误:
$ mkvirtualenv test
New python executable in test/bin/python
ERROR: The executable test/bin/python could not be run: [Errno 13] Permission denied
Run Code Online (Sandbox Code Playgroud)
但是,当我查看二进制文件的权限时,据我所知,一切都应该没问题......
$ ll ~/.virtualenvs/test/bin
total 2604
drwxr-xr-x 1 (username) staff 5 Feb 7 19:10 ./
drwxr-xr-x 1 (username) staff 5 Feb 7 18:51 ../
-rwxr-xr-x 1 (username) staff 2655776 Feb 7 19:10 python*
lrwxrwxrwx 1 (username) staff 6 Feb 7 19:10 python2 -> python*
lrwxrwxrwx 1 (username) staff 6 Feb 7 19:10 python2.7 -> python*
Run Code Online (Sandbox Code Playgroud)
当我尝试以root身份运行时,我收到类似的错误:
$ sudo .virtualenvs/test/bin/python
sudo: unable to execute .virtualenvs/test/bin/python: Permission denied
Run Code Online (Sandbox Code Playgroud)
我在我的Macbook上和Mountain Lion一起运行Lubuntu 12.10,并设置了一个分区,用作两个安装之间的共享主目录,大致遵循这里的说明(http://mikeclaffey.com/dual-boot- osx-ubuntu /).据我所知,这一切都在ubuntu和山狮都正常工作,但我提到它只是因为它意味着我的lubuntu安装不是严格标准.
我已经使用apt-get安装了python-setuptools和python-dev,然后用来sudo easy_install pip获取pip-1.2.1,然后使用sudo pip install virtualenv virtualenvwrappervirtualenv-1.8.4和virtualenvwrapper-3.6.
更多细节:我.virtualenvs在我的主目录中创建,并添加:
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
export PIP_VIRTUALENV_BASE=$WORKON_HOME
Run Code Online (Sandbox Code Playgroud)
我的.bashrc.
此外,我尝试使用sudo apt-get install python-pip而不是easy_install(这将安装pip-1.1,而不是pip-1.2.1),但获得相同的权限错误.
任何帮助将非常感谢!
dun*_*anm 26
事实证明问题与我如何安装共享分区有关.我安装了(在/ etc/fstab中):
UUID=.... /home hfsplus auto,user,nodev,rw 0 0
Run Code Online (Sandbox Code Playgroud)
但是,'user'选项自动包含'noexec'---因此,在virtualenv将系统python二进制文件复制到我的主分区后,由于'noexec'标志,它无法运行.
将我的fstab改为:
UUID=.... /home hfsplus auto,user,exec,nodev,rw 0 0
Run Code Online (Sandbox Code Playgroud)
解决了这个问题.