bash:mkvirtualenv:コマンドが見つかりません


100

Doug Hellmanのvirtualenvwrapper投稿の指示に従っても、テスト環境を起動できませんでした。

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

私が使用しWORKON_HOMEているのは私のにはないことに注意してください$HOMEインストールドキュメントに/usr/local/bin/virtualenvwrapper.sh示されているように探しましたが、存在しません。virtualenvwrapper

これが問題になる場合は、CentOS 6とpython 2.6.6を実行しています。


# File: ~/.bash_profile
# ...

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

回答:


107

解決策1

何らかの理由で、の下virtualenvwrapper.sh/usr/bin/virtualenvwrapper.shはなくにインストールされてい/usr/local/binます。

私の.bash_profile作品の以下...

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

私のインストールはソースなしで問題なく動作しているようです virtualenvwrapper_bashrc

解決策2

あるいは、以下に述べるように、virtualenvwrapper.shすでにシェルにある可能性を活用してPATH、単にsource `which virtualenvwrapper.sh`


5
設定WORKON_HOME(「〜/ .virtualenvs」にデフォルト値プライベートvirtualenvsを設定することができます)
ピエール・ド・LESPINAY

1
ディストリビューションのパッケージマネージャーを使用してインストールする場合、ファイルはでは/usr/binなくにあり/usr/local/binます。一般に、どちらかが見つかると想定しないでください。それがPATH変数を持っている理由の1つです。
Tripleee 2016

この答えは、pipでvirtualenvwrapperをインストールすることに基づいていました。
マイクペニントン2016

最初にインストールする必要がありますpip install virtualenvwrapper
Eddie

WORKON_HOMEオプションであり、ソリューションとは関係ありません。
スコーン

55

試してください:

source `which virtualenvwrapper.sh`

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

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

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

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


4
これは問題を解決するための貴重なヒントになるかもしれませんが、答えは本当にこれよりももう少し詳細が必要です。これを編集して問題を解決する方法を説明してください。あるいは、代わりにコメントとしてこれを書くことを検討してください。
Toby Speight 2016

1
これは私の問題を解決しました。しかし、誰かがその理由と方法を説明しますか?
h0r53

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

43

OS X 10.9.1とpython 2.7.5でも同じ問題が発生しました。WORKON_HOME私にとっては問題ありませんが、実行後に手動で(またはUNIXで)追加source "/usr/local/bin/virtualenvwrapper.sh"する必要がありました~/.bash_profile~/.bashrcpip install virtualenvwrapper


1
ソース「/usr/local/bin/virtualenvwrapper.sh」を手動でどこに追加しましたか?
Gregology 2014

1
@Gregology私はその行をに追加しました~/.bash_profile。最初に追加するときは、ターミナルを再ロードする(実行する.bash_profile)かsource、コマンドラインから直接そのコマンドを実行する必要があることに注意してください。
Nick Benes 14

1
「ファイル名はどこに置いたのですか?」に関するフォローアップの質問を受ける必要がないように、ファイル名を含むタイトルがあり、すべてのコンテンツを表示すると非常に役立ちます。
JGallardo 2015

1
あなたが使用しているかどうか.bash_profile、または.bashrcどちらか一方が、いくつかのプラットフォーム上で不足していることかもしれないが、実際に直接おUSNGしているプラットフォームの結果ではありません。違いについては、Bashのマニュアルページを参照してください。通常、これは本当にでのみ必要です.bash_profileが、一部のディストリビューションでは問題を複雑にする設定を使用しています。
Tripleee 2016

25

このコマンドを実行するための前提条件-

  1. pip(P ip I nstalls P ackagesの再帰的な頭字語)は、Pythonで記述されたソフトウェアパッケージのインストールと管理に使用されるパッケージ管理システムです。多くのパッケージがPython Package Index(PyPI)にあります。

    sudo apt-get install python-pip

  2. 仮想環境をインストールします。仮想環境の作成、相互に分離された複数のプロジェクトのパッケージおよび依存関係のインストールに使用されます。

    sudo pip install virtualenv

  3. 仮想環境ラッパーのインストール仮想環境ラッパーについて

    sudo pip install virtualenvwrapper

前提条件インストールしたら、仮想環境ラッパーを実行して仮想環境を作成する必要があります。手順は次のとおりです-

  1. パス変数に仮想環境ディレクトリを設定する- export WORKON_HOME=(directory you need to save envs)

  2. source /usr/local/bin/virtualenvwrapper.sh -p $WORKON_HOME

@Mikeが述べたように、 `which virtualenvwrapper.sh`をソースにするか、which virtualenvwrapper.shvirtualenvwrapper.shファイルを見つけるために使用できます。

新しいシェルを開くたびに上記のコマンドを実行しないように、〜/ .bashrcに2行以上を配置するのが最善です。mkvirtualenvを使用して環境を作成するために必要なのはこれだけです

留意点-

  • Ubuntuでは、rootとしてvirtualenvとvirtualenvwrapperをインストールする必要があるかもしれません。上記のコマンドの前にsudoを付けるだけです。
  • virtualenvのインストールに使用するプロセスによって、virtualenvwrapper.shへのパスは異なる場合があります。$ find / usr -name virtualenvwrapper.shを実行して、適切なパスを見つけます。.bash_profileまたは.bashrcスクリプトの行を適宜調整してください。

1
メモを追加します。ubuntu 18.04では、インストール後に再起動する必要があり、それが機能しました。
Dan Grahn、

@screenmutt貴重なご意見ありがとうございます。私はubuntu 16.04を使用しているので、見逃したかもしれません。ただし、どの手順の後に再起動する必要がありましたか?pipパッケージをインストールした後、または「仮想環境ディレクトリ」を設定した後ですか?
Keshav

ラッパーのインストール後。それはその後働きました。
Dan Grahn、2008

1
@DanGrahn再起動する必要はなく、再実行する必要があります.bashrc- source ~/.bashrc現在のターミナルで明示的に、または新しいターミナルウィンドウを開きます
TJ Ellis

9

この手順を使用して、ubuntuで仮想環境を作成します

ステップ1

pipをインストールする

   sudo apt-get install python-pip

ステップ2

virtualenvをインストールする

   sudo pip install virtualenv

ステップ3

virtualenvを格納するディレクトリを作成します(私は〜/ .virtualenvsを使用しています)

   mkdir ~/.virtualenvs

または、このコマンドを使用して、envに特定のバージョンのpythonをインストールします

virtualenv -p /usr/bin/python3.6 venv

ステップ4

   sudo pip install virtualenvwrapper

ステップ5

   sudo nano ~/.bashrc

ステップ6

この2行のコードをbashrcファイルの最後に追加します

  export WORKON_HOME=~/.virtualenvs
  source /usr/local/bin/virtualenvwrapper.sh

ステップ7

新しいターミナルを開く(推奨)

ステップ8

新しいvirtualenvを作成する

  mkvirtualenv myawesomeproject

ステップ9

virtualenvをロードまたは切り替えるには、workonコマンドを使用します。

  workon myawesomeproject

ステップ10

新しいvirtualenvを終了するには、次を使用します

 deactivate

そして、pip vs pip3を使用していることを確認してください

または、以下の手順に従って、python3を使用して仮想環境をインストールします

環境をインストール

python3 -m venv my-project-env

次のコマンドを使用して仮想環境をアクティブ化します。

source my-project-env/bin/activate

6

ちょっとドラッグしただけなので、2時間前に望んでいた答えを書いてみます。これは、コピーと貼り付けのソリューションだけを必要としない人向けです

最初に、なぜパスをコピーして貼り付けることが一部の人には機能するのに他の人には機能しないのか疑問に思いませんか?実際には、virtualenvとvirtualenvwrapperの異なるバージョンがあり、python 2または3で動作します。python2を使用している場合は、次のようにインストールします。

sudo pip install virutalenv
sudo pip install virtualenvwrapper

Python 3を使用する場合は、関連するPython 3バージョンをインストールしてください

sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper

pythonバージョンのパッケージが正常にインストールされ、すべて設定されましたよね?まあ、それを試してみてください。workon端末に入力します。端末はコマンドを見つけることができません(workonvirtualenvwrapperのコマンドです)。もちろんそうではありません。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.shが今探しているものではなかったことです。短いリマインダー...あなたはここを探しています:workonmkvirtualenvmkvirtualenv: 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"

それでおしまい。あなたはもう欲求不満ではありません。あなたはあなたの問題を解決しました。うまくいけば。


私は実際にあなたのソリューションをコピーしてパスしました
ジョニー5

2

virtualenvwrapperUbuntu 18.04.3にを正常にインストールするには、以下を実行する必要があります。

  1. インストール virtualenv

    sudo apt install virtualenv
  2. インストール virtualenvwrapper

    sudo pip install virtualenv
    sudo pip install virtualenvwrapper
  3. .bashrcファイルの最後に以下を追加します

    export WORKON_HOME=~/virtualenvs
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python
    source ~/.local/bin/virtualenvwrapper.sh
  4. .bashrcファイルを実行する

    source ~/.bashrc
  5. virtualenvを作成する

    mkvirtualenv your_virtualenv

ubuntu 20.04でも動作します。小さな修正tho:WORKON_HOME=~/.virtualenvsがデフォルトです。設定する必要はありません。VIRTUALENVWRAPPER_PYTHON=/usr/bin/pythonもデフォルトですが、python3を使用する場合に便利です。またexport PATH="$HOME/.local/bin:$PATH"、Pythonバイナリパスに使用する必要があります
スコーン

1

Windows 7とGit Bashでは、これは私に役立ちます:

  1. 〜/ .bashrcファイルを作成します(ユーザーのホームフォルダーの下)
  2. 行WORKON_HOME = $ HOME / .virtualenvsを追加します(このフォルダーが存在しない場合は作成する必要があります)
  3. ソース "C:\ Program Files(x86)\ Python36-32 \ Scripts \ virtualenvwrapper.sh"を追加します(virtualenvwrapper.shのパスを変更します)

git bashを再起動すると、mkvirtualenvコマンドが正常に機能します。


1

Windows 10およびPython 36 for WindowsでGit Bashを使用すると、virtualenvwrapper.shが少し異なる場所にあることがわかり、これを実行すると問題が解決しました

source virtualenvwrapper.sh 
/c/users/[myUserName]/AppData/Local/Programs/Python36/Scripts

0

以下の2行を〜/ .bash_profile(またはUNIXでは〜/ .bashrc)ファイルに追加することにより、Python 2.7.6を搭載したUbuntu 14.04 OSでの私の問題を解決しました。

ソース "/usr/local/bin/virtualenvwrapper.sh"

WORKON_HOME = "/ opt / virtual_env /"をエクスポートします

そして、これらの両方の行をターミナルで実行します。


0

Windows 10では、仮想環境を作成するために、 " pip mkvirtualenv myproject"を " mkvirtualenv myproject" に置き換えても問題なく動作します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.