web-dev-qa-db-ja.com

virtualenvでpipインストールを使用する場合の「許可が拒否されました」エラー

編集:修正済み!

.cacheディレクトリをchownするだけでした

virtualenvwrapper docs 手順を試しました、- この男の手順これら ...を試しました_Sudo pip uninstall virtualenv_、_Sudo pip uninstall virtualenvwrapper_、_Sudo pip3 uninstall virtualenv_、_Sudo pip3 uninstall virtualenvwrapper_は、各命令セットを試行する前に。私は他のSO this one のような投稿を見ましたが、須藤の問題は自分のものと同じではありません。これにより、私はそうしません」 t virtualenvを作成するときにSudoを使用します。Sudoを使用してパッケージをpipインストールしようとすると、(virtualenvの外部で)パッケージを既にインストールしたと表示されます。

私もpip install --user virtualenv(wrapper)を試してみました

私がやったことは次のとおりです。

_~ $ Sudo pip3 install virtualenv
Downloading/unpacking virtualenv
  Downloading virtualenv-13.0.3-py2.py3-none-any.whl (1.7MB): 1.7MB downloaded
Installing collected packages: virtualenv
Successfully installed virtualenv
Cleaning up...
~ $ mkdir ~/.virtualenvs
~ $ Sudo pip3 install virtualenvwrapper
Downloading/unpacking virtualenvwrapper
  Downloading virtualenvwrapper-4.5.1-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): virtualenv-clone in /usr/local/lib/python3.4/dist-packages (from virtualenvwrapper)
Requirement already satisfied (use --upgrade to upgrade): stevedore in /usr/local/lib/python3.4/dist-packages (from virtualenvwrapper)
Requirement already satisfied (use --upgrade to upgrade): virtualenv in /usr/local/lib/python3.4/dist-packages (from virtualenvwrapper)
Installing collected packages: virtualenvwrapper
Successfully installed virtualenvwrapper
Cleaning up...
~ $ export WORKON_HOME=~/.virtualenvs/
_

次に、これらの2行を.bashrcに追加しました:(_VIRTUALENVWRAPPER_PYTHON_を_/usr/bin/python_に設定しようとしました)

_source /usr/local/bin/virtualenvwrapper.sh
VIRTUALENVWRAPPER_PYTHON='/usr/bin/python3'
_

次に私はこれを試しました:

_~ $ mkvirtualenv test
New python executable in test/bin/python
Installing setuptools, pip, wheel...done.
(test)~ $ pip install numpy
Collecting numpy
  Using cached numpy-1.9.2.tar.gz
Building wheels for collected packages: numpy
Exception:
Traceback (most recent call last):
  File "/home/aweeeezy/.virtualenvs/test/local/lib/python2.7/site-packages/pip/basecommand.py", line 223, in main
    status = self.run(options, args)
  File "/home/aweeeezy/.virtualenvs/test/local/lib/python2.7/site-packages/pip/commands/install.py", line 291, in run
    wb.build(autobuilding=True)
  File "/home/aweeeezy/.virtualenvs/test/local/lib/python2.7/site-packages/pip/wheel.py", line 754, in build
    ensure_dir(output_dir)
  File "/home/aweeeezy/.virtualenvs/test/local/lib/python2.7/site-packages/pip/utils/__init__.py", line 70, in ensure_dir
    os.makedirs(path)
  File "/home/aweeeezy/.virtualenvs/test/lib/python2.7/os.py", line 150, in makedirs
    makedirs(head, mode)
  File "/home/aweeeezy/.virtualenvs/test/lib/python2.7/os.py", line 150, in makedirs
    makedirs(head, mode)
  File "/home/aweeeezy/.virtualenvs/test/lib/python2.7/os.py", line 150, in makedirs
    makedirs(head, mode)
  File "/home/aweeeezy/.virtualenvs/test/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/home/aweeeezy/.cache/pip/wheels/4b'
_

Virtualenvが機能しないのはなぜですか?

14
aweeeezy

あなたがそうすればpip install numpy --no-cache-dir それが動作します。

pip --help 見つけるだろう:

--no-cache-dir Disable the cache.

それが将来誰かに役立つことを願っています。

13

pipのディレクトリの所有者を変更する必要があります。

実行chown -R <user>:<group> /home/aweeeezy/.cache/pip

6
mescalin