15

私はhomebrewを使用して新しいMacLionインストールにpythonをインストールし、pipを使用してvirtualenvとvirtualenvwrapperをインストールしようとしましたが、新しいターミナルセッションを開始すると、次のトレースバックが表示されます。

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named virtualenvwrapper.hook_loader
virtualenvwrapper.sh: There was a problem running the initialization hooks. 

If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenv has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python and that PATH is
set properly.

使用されているpythonとpipは自作のものですが、Appleのデフォルトのpythonを使用したいと思っているようです。私は次のようになります

~$ which python | xargs ls -l
lrwxr-xr-x  1 beard  admin  33 Jun 24 16:11 /usr/local/bin/python -> ../Cellar/python/2.7.3/bin/python
~$ echo $VIRTUALENVWRAPPER_PYTHON
/usr/local/bin/python
~$ which pip | xargs ls -l
-rwxr-xr-x  1 beard  admin  301 Jun 24 16:18 /usr/local/share/python/pip
~$ which virtualenvwrapper.sh | xargs ls -l
-rwxr-xr-x  1 beard  admin  32227 Jun 24 16:19 /usr/local/share/python/virtualenvwrapper.sh

ただし、システムpythonを使用してpip(およびvirtualenv)をインストールしたと思われるようです。/usr/bin/python

編集:私のbashrcで--

export WORKON_HOME="$HOME/py-env"
export VIRTUALENVWRAPPER_LOG_DIR="$HOME/py-env"
export VIRTUALENVWRAPPER_HOOK_DIR="$HOME/py-env"
source /usr/local/share/python/virtualenvwrapper.sh
export VIRTUALENVWRAPPER_PYTHON="/usr/local/bin/python"
4

5 に答える 5

20

独自のバージョンのPythonを使用しているので、VIRTUALENVWRAPPER_PYTHONをオーバーライドしてみましたか?(あなたが望むように見えますexport VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/pythonvirtualenvwrapperのドキュメントは、virtualenvwrapper.shを調達する前に、そのenvvarを目的のpythonに設定することを提案しています。彼らの例は次のとおりです。

export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
于 2012-06-26T00:54:52.593 に答える
1

virtualenvwrapper.shの〜/.bash_profileへのパスを/usr/local/share/python/virtualenvwrapper.shに追加または変更します

次のようになります

export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export WORKON_HOME=$HOME/.virtualenvs

source /usr/local/share/python/virtualenvwrapper.sh
于 2013-05-21T14:08:13.780 に答える
0

HombrewがインストールしたPythonが、OSXLionでシステムがインストールしたPythonと競合するという同様の問題が発生しました。Homebrewを使用して問題を修正することはできませんでした。ただし、(Homebrewの代わりに)インストールされているPythonを管理するためにpythonbrew(https://github.com/utahta/pythonbrew)を使用するように切り替えると、virtualenvwrapperを正常に実行できました。

于 2012-06-26T02:48:28.530 に答える
0

PythonBrewとVirtualEnvBurritoをZSHシェルで使用している場合は、必ず.zprofileを確認してください。これには、VirtualEnvBurrito起動スクリプトを実行するためのコマンドがいくつか含まれています。.zshrcの前に.zprofileがロードされるため、Pythonバージョンがシステムバージョンになります。これもこのエラーをスローします。

于 2012-08-29T09:26:30.583 に答える
0

私はmacOSCatalinaで同様の問題に直面していました。zshとpython2.7に同梱されています

次の手順で、python3とvirtualenvをインストールしました。

Homebrewをインストールする

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Pythonをインストールする

brew install python

Pythonがインストールされている場所を確認する

brew show python

押しつぶされた出力、

==> Caveats
Python has been installed as
  /usr/local/bin/python3

Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have been installed into
  /usr/local/opt/python/libexec/bin

You can install Python packages with
  pip3 install <package>
They will install into the site-package directory
  /usr/local/lib/python3.7/site-packages

See: https://docs.brew.sh/Homebrew-and-Python

macOSのデフォルトのPythonパスは、Python2.7/usr/bin/pythonを指します。したがって、pythonからpython3へのエイリアスを作成する必要があります

alias python=/usr/local/bin/python3

次に、上記の@munchybunchで説明した手順に従います。

export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

上記の手順に従って、仮想環境を作成することができました。

mkvirtualenv dev
于 2020-04-28T14:35:41.757 に答える