2

デスクトップにフォルダを作成し、ターミナルで「virtualenv venv」を実行すると、すべてが正常に機能します。ただし、「documents」フォルダにフォルダを作成して「virtualenv venv」を実行しようとすると、以下のエラーが発生しますか?なぜ何か提案はありますか?

Andrews-MacBook-Pro:Python Virtualenv AndrewParkPhotography$ cd myproject
Andrews-MacBook-Pro:myproject AndrewParkPhotography$ ls
Andrews-MacBook-Pro:myproject AndrewParkPhotography$ virtualenv venv
New python executable in venv/bin/python
Installing setuptools............done.
Installing pip...
  Error [Errno 2] No such file or directory while executing command /Users/AndrewParkPho...env/bin/easy_install /Library/Python/2.7/...pport/pip-1.1.tar.gz
...Installing pip...done.
Traceback (most recent call last):
  File "/usr/local/bin/virtualenv", line 8, in <module>
    load_entry_point('virtualenv==1.7.1.2', 'console_scripts', 'virtualenv')()
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 928, in main
    never_download=options.never_download)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 1042, in create_environment
    install_pip(py_executable, search_dirs=search_dirs, never_download=never_download)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 640, in install_pip
    filter_stdout=_filter_setup)
  File "/Library/Python/2.7/site-packages/virtualenv.py", line 966, in call_subprocess
    cwd=cwd, env=env)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 672, in __init__
    errread, errwrite)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1202, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
4

1 に答える 1

4

ここで答えが見つかりました(Virtualenvを使用してpip経由でインストールすることはできません

スペースのないパス内にvirtualenv環境を作成します。これが起こっている理由です:

環境を作成すると、binディレクトリが設定されます。そのbinディレクトリには、環境に関連するすべての実行可能ファイルがあります。一部はスクリプトです。ご存知かもしれませんが、hashbangsは、スクリプトの実行に使用するインタープリターをシステムに指示するために使用されます。これは、スクリプトの上部によく表示されます。

#!/usr/bin/env python

スクリプトが/tmp/test.pyにある場合、スクリプトを実行するためにこのコマンドを実行するようにシステムに指示します。

/usr/bin/env python /tmp/test.py

あなたの場合、virtualenvは次のようなスクリプトを作成しています。

#!/tmp/oh no/bin/python

システムがそれを実行しようとすると、引数no / bin/pythonおよび/tmp/test.pyを指定してコマンド/tmp/ohを実行しようとします。/ tmp / ohが存在しないため、失敗します

于 2012-06-03T20:14:57.850 に答える