2017-09-13 15 views
1

自分のマシン上のvirtualenvにDjango 1.10をインストールしました。私は複数のSOの記事を読みました仮想環境内にDjangoをインストールする際の許可エラー

Collecting Django 
    Using cached Django-1.11.5-py2.py3-none-any.whl 
Requirement already satisfied: pytz in /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages (from Django) 
Installing collected packages: Django 
Exception: 
Traceback (most recent call last): 
    File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pip/basecommand.py", line 215, in main 
    status = self.run(options, args) 
    File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pip/commands/install.py", line 342, in run 
    prefix=options.prefix_path, 
    File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pip/req/req_set.py", line 784, in install 
    **kwargs 
    File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pip/req/req_install.py", line 851, in install 
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix) 
    File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files 
    isolated=self.isolated, 
    File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pip/wheel.py", line 377, in move_wheel_files 
    clobber(source, dest, False, fixer=fixer, filter=filter) 
    File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pip/wheel.py", line 323, in clobber 
    shutil.copyfile(srcfile, destfile) 
    File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/shutil.py", line 115, in copyfile 
    with open(dst, 'wb') as fdst: 
PermissionError: [Errno 13] Permission denied: '/Library/Frameworks/Python.framework/Versions/3.5/bin/__pycache__/django-admin.cpython-35.pyc' 

:今私は(別のプロジェクトのために)別のvirtualenvのを作成し、次のコマンドを使用して、その上でDjangoの1.11をインストールしています:

pip install Django 

が、私は許可拒否エラーを取得しますこれについては、彼らの解決策は私には当てはまらないようです。ご注意ください:

1)コマンドを実行する前に、新しいvirtualenvが既に有効になっています。が有効になっています。

2)I はありません sudoを使用して新しいvirtualenvを作成します。

virtualenv name-of-the-new-virtualenv

私は何をしないことができます:私はちょうどそれを作成するには、次のですか?

+1

:任意のvirtualenvのが調達された場合には

source /path/to/my/venv/bin/activate 

、それはdeactivate機能を使用することにより無効にすることができます。

Virtualenvsはactivateスクリプトを調達することによって活性化することができますあなたはDjangoをインストールしようとしているvirtualenvをソースした後、 'which pip'と' which python'を実行しますか?また、VIRTUAL_ENVとPATHはどのように見えますか( 'echo" $ VIRTUAL_ENV "'と 'echo" $ PATH "')? –

+1

ブランドン、あなたは問題を解決しました。 'which pip'と' which python'はシステムパスを返しますが、virtualenvパスは返しません。次に 'echo" $ VIRTUAL_ENV "'は存在しなかったパスを返しました!私は実際にvirtualenvディレクトリをプロジェクトディレクトリからホームディレクトリに移動して、すべてのvirtualenvディレクトリを同じ場所に保ちました(私はそれらを移動することができますが、それは良い考えではないように見えます)。私はそれを戻し、それは正常に働いた。私はあなたに信用を与えることができるように答えを書くこと自由に感じてください – Anupam

+0

素晴らしい!それが助けてくれてうれしい。私は将来の見物人を助けるためにvirtualenvsに関するいくつかの一般的な情報を追加して答えました。 –

答えて

1

bashを使用している場合、which pythonを使用すると、いつでもPATHに解決されるPythonのバージョンが表示されます。

また、VIRTUAL_ENVという環境変数(例:echo $VIRTUAL_ENV)を表示して、ソース仮想の場所を確認することもできます。この場合

、問題はvirtualenvのディレクトリがを作成した後に移動されていたのでPATH環境変数が調達時にvirtualenvのの正しいbinディレクトリが移入なっていなかったということでした。 virtualenvを移動するための1つの解決方法は、それを "再配置可能"にすることです。これについてはthis answerで説明しています。ランニングの結果はどのようなものです

deactivate 
関連する問題