13

簡単に言えば、私の問題は、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

ただし、バイナリのアクセス許可を見ると、私が知る限り、すべて問題ないはずです...

$ 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*

root として実行しようとすると、同様のエラーが発生します。

$ sudo .virtualenvs/test/bin/python
sudo: unable to execute .virtualenvs/test/bin/python: Permission denied

私は Macbook で Lubuntu 12.10 を Mountain Lion と一緒に実行しており、2 つのインストール間の共有ホーム ディレクトリとして使用するパーティションをセットアップしました。 osx-ubuntu/ )。私が知る限り、これはすべてubuntuとマウンテンライオンの両方で正しく機能していますが、lubuntuのインストールが厳密に標準ではないという理由だけで言及しています。

apt-get を使用して python-setuptools と python-dev をインストールし、次にsudo easy_install pippip-1.2.1sudo pip install virtualenv virtualenvwrapperを取得してから、virtualenv-1.8.4 と virtualenvwrapper-3.6 を取得しました。

詳細:.virtualenvsホーム ディレクトリに作成し、以下を追加しました。

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
export PIP_VIRTUALENV_BASE=$WORKON_HOME

私に.bashrc

また、sudo apt-get install python-pipeasy_install の代わりに使用してみました (これにより、pip-1.2.1 ではなく pip-1.1 がインストールされます) が、同じ許可エラーが発生します。

どんな助けでも大歓迎です!

4

4 に答える 4

27

問題は、共有パーティションのマウント方法に関係していたことが判明しました。私は(/ etc/fstabで)マウントしました:

UUID=....  /home   hfsplus   auto,user,nodev,rw    0    0

ただし、「user」オプションには自動的に「noexec」が含まれます --- したがって、virtualenv がシステムの Python バイナリをホーム パーティションにコピーした後、「noexec」フラグのために実行できませんでした。

fstab を次のように変更します。

UUID=....  /home   hfsplus    auto,user,exec,nodev,rw   0   0

問題を解決しました。

于 2013-02-07T21:09:03.213 に答える
2

私は同じ問題を抱えていました。ホームフォルダーにvirtualenvを作成しようとしたところ、うまくいきましたが、別のパーティションに作成しようとするとエラーが発生しました。

したがって、問題を解決するには、別の場所を試すか、どのようにマウントされているかを確認してください。

于 2013-03-28T07:04:26.703 に答える
0

あなたが発見したように、主に実行権限の問題だと思います。/data または /sd-ext のサブディレクトリに virtualenv を作成することで、これを回避することもできます。私はマルチユーザー サポートに取り組んでいます。これは、1 つの SD カードの「ホーム ディレクトリ」ではなく、/data/home の下にホーム ディレクトリを配置します。

于 2012-03-16T14:42:26.947 に答える