Virtualenv: [Mac] Python仮想環境を作成しようとしていますが、OSErrorが発生します

作成日 2015年08月25日  ·  22コメント  ·  ソース: pypa/virtualenv

Mac OS X:10.9.5
ピップ7.1.2
virtualenv 13.1.2
Python:Python 2.7.10 :: Anaconda 2.3.0(x86_64)

Shuais-MacBook-Pro:Googleドライブshuaiwang $ virtualenv ENV
ENV / bin / pythonの新しいpython実行可能ファイル
setuptools、pip、wheelをインストールしています...
コマンド "/ Users / shuaiwang / Google Drive / ENV / bin / python" -c "import sys、pip; sys ... d \"] + sys.argv [1:])) "setuptools pipwheelからの完全な出力:
トレースバック(最後の最後の呼び出し):
ファイル ""、1行目、
ファイル "/Users/shuaiwang/anaconda/lib/python2.7/site-packages/virtualenv_support/pip-7.1.2-py2.py3-none-any.whl/pip/ init .py"、13行目
ファイル "/Users/shuaiwang/anaconda/lib/python2.7/site-packages/virtualenv_support/pip-7.1.2-py2.py3-none-any.whl/pip/utils/ init .py"、15行目
ファイル "/Users/shuaiwang/anaconda/lib/python2.7/zipfile.py"、6行目
import io
ファイル "/Users/shuaiwang/anaconda/lib/python2.7/io.py"、51行目
import _io
ImportError:dlopen(/ Users / shuaiwang / Google Drive / ENV / lib / python2.7 / lib-dynload / _io.so、2):シンボルが見つかりません:__ PyErr_ReplaceException
参照元:/ Users / shuaiwang / Google Drive / ENV / lib / python2.7 / lib-dynload / _io.so
期待されるもの:動的ルックアップ


... setuptools、pip、wheelのインストール...完了。
トレースバック(最後の最後の呼び出し):
ファイル "/ Users / shuaiwang / anaconda / bin / virtualenv"、11行目
sys.exit(main())
ファイル "/Users/shuaiwang/anaconda/lib/python2.7/site-packages/virtualenv.py"、832行目、メイン
symlink = options.symlink)
create_environmentのファイル "/Users/shuaiwang/anaconda/lib/python2.7/site-packages/virtualenv.py"、行1004
install_wheel(to_install、py_executable、search_dirs)
install_wheelのファイル "/Users/shuaiwang/anaconda/lib/python2.7/site-packages/virtualenv.py"、行969
'PIP_NO_INDEX': '1'
ファイル "/Users/shuaiwang/anaconda/lib/python2.7/site-packages/virtualenv.py"、行910、call_subprocess
%(cmd_desc、proc.returncode))
OSError:コマンド "/ Users / shuaiwang / Google Drive / ENV / bin / python" -c "import sys、pip; sys ... d \"] + sys.argv [1:])) "setuptools pipwheelが失敗しましたエラーコード1

最も参考になるコメント

condaとvirtualenvでも同様の問題が発生しました。 次のコマンドを使用して、envを正常にインストールしてアクティブ化することができました。
conda install -c anaconda virtualenv = 15.1.0

全てのコメント22件

まったく同じエラーが発生し、非常によく似た設定を使用しています。

  • Mac 10.10.3
  • ピップ7.1.2
  • virtualenv 13.0.1
  • Python 2.7.10 :: Anaconda 2.2.0(x86_64)

これはhttps://github.com/pypa/virtualenv/issues/788の重複の可能性があります

https://github.com/conda/conda/issues/1367を参照してください

@ grisaitis #788は#788の複製ですか? :D

そして、はい、現時点では、これはcondapythonの問題のように見えます。

おっと! 申し訳ありませんが、これと重複している可能性があります: https ://github.com/pypa/virtualenv/issues/741

https://github.com/conda/conda/issues/1367に表示されなかった場合に備えて、これはPython2.7.9にダウングレードすることで「修正」されます。

実際には、それは修正されていません(そして、これはおそらくコンドミニアム/ virtualenvの共同発行であると私は知っています)。

Python 2.7.11、Python 3.5.1、conda 3.18.9(およびpip 7.1.2)でも同じ問題が発生します。
Python 3.5.1では、仮想環境の作成は「virtualenv」と「pyvenv」で失敗します(わずかに異なるエラーが発生します)。

@jenisys実際のエラーを貼り付けていただけますか?

python2.7.11とvirtualenv13.0.1に基づくconda環境では、上記と同様のエラーが発生します(ただし、別のCPythonシンボルが欠落しています)。

# -- CASE: Using conda environment "py27" with python 2.7.11
# INSTALLED: virtualenv 13.0.1, pip 7.1.2, wheel 0.26.0
$ virtualenv xxx
New python executable in xxx/bin/python
Installing setuptools, pip, wheel...
  Complete output from command /Users/alice/tmp/venv/xxx/bin/python -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip wheel:
  Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/alice/conda/envs/py27/lib/python2.7/site-packages/virtualenv_support/pip-7.0.1-py2.py3-none-any.whl/pip/__init__.py", line 13, in <module>
  File "/Users/alice/conda/envs/py27/lib/python2.7/site-packages/virtualenv_support/pip-7.0.1-py2.py3-none-any.whl/pip/utils/__init__.py", line 15, in <module>
  File "/Users/alice/conda/envs/py27/lib/python2.7/zipfile.py", line 6, in <module>
    import io
  File "/Users/alice/conda/envs/py27/lib/python2.7/io.py", line 51, in <module>
    import _io
ImportError: dlopen(/Users/alice/tmp/venv/xxx/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyCodecInfo_GetIncrementalDecoder
  Referenced from: /Users/alice/tmp/venv/xxx/lib/python2.7/lib-dynload/_io.so
  Expected in: dynamic lookup

----------------------------------------
...Installing setuptools, pip, wheel...done.
Traceback (most recent call last):
  File "/Users/alice/conda/envs/py27/bin/virtualenv", line 6, in <module>
    sys.exit(main())
  File "/Users/alice/conda/envs/py27/lib/python2.7/site-packages/virtualenv.py", line 832, in main
    symlink=options.symlink)
  File "/Users/alice/conda/envs/py27/lib/python2.7/site-packages/virtualenv.py", line 1004, in create_environment
    install_wheel(to_install, py_executable, search_dirs)
  File "/Users/alice/conda/envs/py27/lib/python2.7/site-packages/virtualenv.py", line 969, in install_wheel
    'PIP_NO_INDEX': '1'
  File "/Users/alice/conda/envs/py27/lib/python2.7/site-packages/virtualenv.py", line 910, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /Users/alice/tmp/venv/xxx/bin/python -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip wheel failed with error code 1

Python 3.5.1を使用するconda環境では、エラーはわずかに異なります。

# -- CASE: Using conda environment "py35" with python 3.5.1
# INSTALLED: virtualenv 13.1.2, pip 7.1.2, wheel 0.26.0
$ virtualenv --verbose xxx2
Using base prefix '/Users/alice/conda/envs/py35'
Creating xxx2/lib/python3.5
Symlinking Python bootstrap modules
  Symlinking xxx2/lib/python3.5/config-3.5m
  Symlinking xxx2/lib/python3.5/lib-dynload
  Symlinking xxx2/lib/python3.5/plat-darwin
  Symlinking xxx2/lib/python3.5/os.py
  ...
  Symlinking xxx2/lib/python3.5/_bootlocale.py
Creating xxx2/lib/python3.5/site-packages
Writing xxx2/lib/python3.5/site.py
Writing xxx2/lib/python3.5/orig-prefix.txt
Writing xxx2/lib/python3.5/no-global-site-packages.txt
Creating parent directories for xxx2/include
Symlinking xxx2/include/python3.5m
Creating xxx2/bin
New python executable in xxx2/bin/python3
Changed mode of xxx2/bin/python3 to 0o755
Also creating executable in xxx2/bin/python
Changed mode of xxx2/bin/python to 0o755
Testing executable with xxx2/bin/python3 -c "import sys;out=sys.stdout;getattr(out, "buffer", out).write(sys.prefix.encode("utf-8"))"
ERROR: The executable xxx2/bin/python3 is not functioning
ERROR: It thinks sys.prefix is '/Users/alice/tmp/venv' (should be '/Users/alice/tmp/venv/xxx2')
ERROR: virtualenv is not compatible with this system or executable

conda環境でpyvenvを使用すると(Python 3.xで予想されるように)、欠落している「ensurepip」モジュールに関連する別のエラーが発生します(condaの内部問題だと思います)。

私はここで同じ問題を抱えています、誰かが私にこの問題の解決策を教えてもらえますか? 閉まっているので解決しなきゃいけないの?

@icrtiouこれはコンダの問題であるため、ここでは閉じています(問題番号は上記に記載されています)。 まだ修正されていないようですが、詳細についてはcondaチケットを確認する必要があります。

最初に前のenvを削除せずにenvを再作成しようとしたときに、同様のエラーが発生しました(anacondaを使用せず、brew installを使用してpythonをインストールしました)。

古いenvパスのrm-rfの後、エラーは解決されました...

condaとvirtualenvでも同様の問題が発生しました。 次のコマンドを使用して、envを正常にインストールしてアクティブ化することができました。
conda install -c anaconda virtualenv = 15.1.0

ありがとう!! それは私のために働いた。

私の解決策は、デフォルトのpythonとpipをcondaバージョンではなく/ user / bin / pythonに変更することです
注:最初のcondaエラー後、virtualenvsフォルダーはすでに作成され、condaのパスとセットアップが保存されているため、新しいvirtualenvsフォルダーを作成する前に、まずそのフォルダーを削除する必要があります

rm -rf .virtualenvs /#削除
source virtualenvwrapper.sh#bewvirtualenvsを作成します

@RubenDuranによって提案された解決策は私のために働いた。

私はanacondaを使用しておらず、これに遭遇していました。 pyenvとvirtualenvwrapperを使おうとしています。 これは以前は機能していたことを誓いますが、これを実行して新しいvirtualenvを作成していました。

pyenv shell 3.6.3
mkvirtualenv my_new_env

これにより、上記と同様のスタックトレースが生成されます。 これを修正するために、 pyenv-virtualenvwrapperをインストールしました。 次に、それを機能させる方法を次に示します。

pyenv shell 3.6.3
pyenv virtualenvwrapper
mkvirtualenv my_new_env

何が起こったのか完全にはわかりませんが、それは機能しており、他の誰かが同様の問題に遭遇した場合に備えて共有したいと思いました。

@RubenDuranあなたはスーパースターです! あなたの解決策は私にとって完璧に機能しました。

@RubenDuranたくさんありがとう!

再び@RubenDuranソリューションが機能しました! ありがとう!!!

condaがある場合に、プロジェクトの仮想環境を作成するためのソリューション。 同様の問題が発生しました。次のコマンドを試してみましたが、うまくいきました。
Ubuntu 16.04
Python 2.7.14 :: Anaconda、Inc。

conda create -n yourenvname python=x.x anaconda

_yourenvname_は、作成して使用する仮想環境の名前です。
_pyrhon = x.x_:この環境で使用するPythonのバージョンを選択してください

やあ、
私はcentos7で同じ状況に直面しています。次の行で問題を修正しました。

yum installepel-リリース

yum install python-pip

pip install -U pip

yum -y install python-virtualenv

yum -y install python-virtualenvwrapper

$ export WORKON_HOME =〜/ .virtualenvs
$ source /usr/bin/virtualenvwrapper.sh
$ mkvirtualenv myapp
$非アクティブ化
$ workon myapp

このページは役に立ちましたか?
0 / 5 - 0 評価