114

After following the instructions on Doug Hellman's virtualenvwrapper post, I still could not fire up a test environment.

[mpenning@tsunami ~]$ mkvirtualenv test
-bash: mkvirtualenv: command not found
[mpenning@tsunami ~]$

It should be noted that I'm using WORKON_HOME that is not in my $HOME. I tried looking for /usr/local/bin/virtualenvwrapper.sh as shown in the virtualenvwrapper installation docs, but it does not exist.

I'm running CentOS 6 and python 2.6.6, if this matters.


# File: ~/.bash_profile
# ...

export WORKON_HOME="/opt/virtual_env/"
source "/opt/virtual_env/bin/virtualenvwrapper_bashrc"
4

12 に答える 12

116

Solution 1:

For some reason, virtualenvwrapper.sh installed in /usr/bin/virtualenvwrapper.sh, instead of under /usr/local/bin.

The following in my .bash_profile works...

source "/usr/bin/virtualenvwrapper.sh"
export WORKON_HOME="/opt/virtual_env/"

My install seems to work fine without sourcing virtualenvwrapper_bashrc

Solution 2:

Alternatively as mentioned below, you could leverage the chance that virtualenvwrapper.sh is already in your shell's PATH and just issue a source `which virtualenvwrapper.sh`

于 2012-12-13T08:03:18.580 に答える
65

試す:

source `which virtualenvwrapper.sh`

バッククォートはコマンド置換です。プログラムが出力したものを何でも式に入れます。この場合、「which」は $PATH をチェックして virtualenvwrapper.sh を見つけ、そのパスを出力します。スクリプトは、'source' を介してシェルによって読み取られます。

シェルを再起動するたびにこれを実行したい場合は、最初に「which」コマンドからの出力を取得してから、次のように「source」行をシェルに追加することをお勧めします。

echo "source /path/to/virtualenvwrapper.sh" >> ~/.profile

^ これは、シェルによって若干異なる場合があります。また、単一の > を使用しないように注意してください。これにより ~/.profile が切り詰められます :-o

于 2016-07-07T12:57:36.407 に答える
7

ドラッグをやったばかりなので、2時間前に望んでいた答えを書いてみます。これは、コピー&ペーストソリューションだけが必要ない人向けです

最初:パスのコピーと貼り付けがうまくいく人もいれば、うまくいかない人もいるのはなぜでしょうか?** 主な理由は、ソリューションが異なることです。Python のバージョンが 2.x または 3.x と異なるからです。実際には、python 2 または 3 で動作する virtualenv と virtualenvwrapper の異なるバージョンがあります。python 2 を使用している場合は、次のようにインストールします。

sudo pip install virutalenv
sudo pip install virtualenvwrapper

Python 3 を使用する予定がある場合は、関連する Python 3 バージョンをインストールします。

sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper

Python バージョンのパッケージが正常にインストールされ、すべて設定されていますよね? さて、試してみてください。端末に入力workonします。端末はコマンドを見つけることができません (workonは virtualenvwrapper のコマンドです)。もちろん、そうはなりません。Workonは、ファイルをロード/ソースした場合にのみ使用できる実行可能ファイルですvirtualenvwrapper.sh。しかし、公式のインストールガイドでは、これについて説明していますよね?. .bash_profile を開いて以下を挿入するだけです。ドキュメントには次のように書かれています。

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh

コマンドは、 やなど、操作したいすべてのコマンドを含むsource /usr/local/bin/virtualenvwrapper.sh目的のファイルをロード/ソースするように見えるため、特にコマンドが役立つようです。しかし、ええ、いいえ。公式のインストール ガイドに従うと、最初の投稿からエラーが表示される可能性が非常に高くなります: . まだコマンドが見つからず、まだイライラしています。では、ここで何が問題なのですか?問題は、virtualenvwrapper.sh が現在探しているものではないことです。短いリマインダー...あなたはここを見ています:virtualenvwrapper.shworkonmkvirtualenvmkvirtualenv: command not found

source /usr/local/bin/virtualenvwrapper.sh

しかし、目的のファイルを見つけるための非常に簡単な方法があります。入力するだけ

which virtualenvwrapper

あなたの端末に。これは、システムの PATH に含まれているフォルダーにある可能性が非常に高いため、ファイルのPATHを検索します。

システムが非常に特殊な場合、目的のファイルは PATH フォルダーの外に隠れます。その場合virtalenvwrapper.sh、シェルコマンドでパスを見つけることができますfind / -name virtualenvwrapper.sh

結果は次のようになり/Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh ます。おめでとうございます。You have found your missing file!. あとは、.bash_profile 内の 1 つのコマンドを変更するだけです。変更するだけです:

source "/usr/local/bin/virtualenvwrapper.sh"

に:

"/Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh"

おめでとう。Virtualenvwrapper がシステムで動作するようになりました。しかし、ソリューションを強化するためにもう 1 つできることがあります。virtualenvwrapper.shコマンドでファイルを見つけた場合which virtualenvwrapper.sh、それが PATH のフォルダー内にあることがわかります。そのため、ファイル名だけを書き込むと、ファイル システムはファイルが PATH フォルダー内にあると想定します。したがって、完全なパスを書き出す必要はありません。次のように入力します。

source "virtualenvwrapper.sh"

それでおしまい。あなたはもうイライラしていません。あなたはあなたの問題を解決しました。うまくいけば。

于 2019-02-11T21:23:34.310 に答える
2

Windows 10 と Python36 for Windows で Git Bash を使用すると、わずかに異なる場所に virtualenvwrapper.sh が見つかり、これを実行すると問題が解決しました

source virtualenvwrapper.sh 
/c/users/[myUserName]/AppData/Local/Programs/Python36/Scripts
于 2018-08-31T23:21:30.983 に答える