2017-09-07 11 views
0

私はこのガイドをpipenvとvirtualenvに従おうとしています:http://docs.python-guide.org/en/latest/dev/virtualenvs/。問題は、$ pipenv install requests(私の場合は$python3 -m pipenv install requestsであるべきだと思うが、単にpipenvがコマンドを返さないので問題になる)PermissionError:[Errno 13]パーミッションが拒否されました:pipenvのインストール要求のための 'Pipfile'

なぜ許可されていないのですか?

私はターミナルのnoobですので、私に同行してください。

$ pip3 install --user pipenv 

$ python3 -m pipenv 

Usage: __main__.py [OPTIONS] COMMAND [ARGS]... 

$ python3 -m pipenv install requests 

Creating a Pipfile for this project... 
Traceback (most recent call last): 
    File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 193, in _run_module_as_main 
    "__main__", mod_spec) 
    File "/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/runpy.py", line 85, in _run_code 
    exec(code, run_globals) 
    File "/Users/sahandzarrinkoub/Library/Python/3.6/lib/python/site-packages/pipenv/__main__.py", line 4, in <module> 
    cli() 
    File "/Users/sahandzarrinkoub/Library/Python/3.6/lib/python/site-packages/pipenv/vendor/click/core.py", line 722, in __call__ 
    return self.main(*args, **kwargs) 
    File "/Users/sahandzarrinkoub/Library/Python/3.6/lib/python/site-packages/pipenv/vendor/click/core.py", line 697, in main 
    rv = self.invoke(ctx) 
    File "/Users/sahandzarrinkoub/Library/Python/3.6/lib/python/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke 
    return _process_result(sub_ctx.command.invoke(sub_ctx)) 
    File "/Users/sahandzarrinkoub/Library/Python/3.6/lib/python/site-packages/pipenv/vendor/click/core.py", line 895, in invoke 
    return ctx.invoke(self.callback, **ctx.params) 
    File "/Users/sahandzarrinkoub/Library/Python/3.6/lib/python/site-packages/pipenv/vendor/click/core.py", line 535, in invoke 
    return callback(*args, **kwargs) 
    File "/Users/sahandzarrinkoub/Library/Python/3.6/lib/python/site-packages/pipenv/cli.py", line 895, in install 
    ensure_project(three=three, python=python) 
    File "/Users/sahandzarrinkoub/Library/Python/3.6/lib/python/site-packages/pipenv/cli.py", line 180, in ensure_project 
    ensure_pipfile(validate=validate) 
    File "/Users/sahandzarrinkoub/Library/Python/3.6/lib/python/site-packages/pipenv/cli.py", line 141, in ensure_pipfile 
    project.create_pipfile() 
    File "/Users/sahandzarrinkoub/Library/Python/3.6/lib/python/site-packages/pipenv/project.py", line 219, in create_pipfile 
    self.write_toml(data, 'Pipfile') 
    File "/Users/sahandzarrinkoub/Library/Python/3.6/lib/python/site-packages/pipenv/project.py", line 226, in write_toml 
    with open(path, 'w') as f: 
PermissionError: [Errno 13] Permission denied: 'Pipfile' 
+0

「sudo」で試してください – voidpro

+0

これは悪いことです。 – Sahand

+0

と 'apt-get install python-YourPackage'を試してみました –

答えて

1

あなたは(あなたがこれを行う方法を参照するには、以下のたdocumentationでメモ]ボックスに続く)あなたのパスにUserBaseのbinディレクトリを追加したことを確認してください。

3番目のコマンドは、次のとおりです。pipenv install requests


長いバージョン:

もう少しをしたいと思いますが、コマンドラインで(そして他の人のために入門しているので、私は、コマンドラインの概念のいくつかのための深さにもう少し行くよ

深い参照)。

は、次の3つのコマンドを示しています。

  • pip3 install --user pipenv
    • これはでは、ユーザーパッケージ(システム全体にavalibleない)
  • python3 -m pipenv
      としてpipenvをインストールし、完璧です
    • これは何もしません。返されるのは「Usage message」です。このコマンドは、いくつかのmain.pyプログラム、オプション(かっこ内にあるためオプション)、コマンド(必須)、さらに多くの引数が必要であると考えています。使用法のメッセージが表示された場合は、作成者が意図したとおりにそのプログラムを呼び出さなかったことを意味します。
  • python3 -m pipenv install requests
    • これはちょうどpipenv install requestsでなければなりません。しかし、パスにUserBaseのbinを追加するまでは機能しません(pipenv: command not foundエラーが発生します)。シェルは、あなたがリストされてきたコマンドを検索する場所をあなたのPATH

です。パスをMac or LinuxまたはWindowsに変更するをご覧ください。あなたは、次のされたdocumentationとして

では、次のような出力に何か買ってあげる、あなたはpython3 -m siteを実行したい、言及:今、あなたのUSER_BASEがどこにあるか知っていることを

$ python -m site 
    . 
    . 
    . 
USER_BASE: '/Users/<myusername>/Library/Python/3.6' (exists) 
USER_SITE: '/Users/<myusername>/Library/Python/3.6/lib/python/site-packages' (exists) 
ENABLE_USER_SITE: True 

を、最後に/binを追加それをPATHに追加します。再びOS固有の指示を見てください。しかし、OSXでは~/.profileexport PATH="$PATH:/Users/<myusername>/Library/Python/3.6/binを追加して実行します。source ~/.profileを実行すると、コマンドpipenvを入力するとシェルはそのディレクトリを検索します。

関連する問題