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


119

私はPython開発に不慣れで、pipenvを使用しようとしています。私はコマンドpip install pipenvを実行しましたが、正常に実行されました。

...
Successfully built pipenv pathlib shutilwhich pythonz-bd virtualenv-clone
Installing collected packages: virtualenv, pathlib, shutilwhich, backports.shutil-get-terminal-size, pythonz-bd, virtualenv-clone, pew, first, six, click, pip-tools, certifi, chardet, idna, urllib3, requests, pipenv
...

しかし、pipenv install新しいルートプロジェクトディレクトリでコマンドを実行すると、次のメッセージが表示されます-bash: pipenv: command not found。.bashrcを変更する必要があるのではないかと思いますが、ファイルに何を追加するのか、または変更が必要かどうかさえわかりません。


1
チェック/usr/local/bin/pipenv—ありますか?である/usr/local/binあなたに$PATH
phd

3
同じ問題:pipenvは正常にビルドされましたが、/ usr / local / binにpipenvフォルダーの兆候はありません。
aDone

pipenvグローバルにインストールしていますか?
dethos 2017

回答:


126

これは、グローバル(システム全体)にインストールしていないために発生します。それを使用できるようにするにpathsudo、次のようにを使用してインストールする必要があります。

$ sudo pip install pipenv

86
そこにコピーアンドペーストする場合、このコマンドは通常sudo -H pip install -U pipenv(ubuntuなど)として実行され、にインストールさpipenv/usr/local/binます。別の方法は、ユーザーインストールです。たとえば、$ pip install pipenvと同じです$ pip install --user pipenv。これはにインストールし、他の回答のように変更$HOME/.local/...する必要があります。stackoverflow.comPATH
a

2
これにより、毎回新しいデスクトップ環境を利用できます。
Ligemer、

@michaelコメントで最高の答えがあります。恥!回答者として投稿
Rahul

@michaelこれは私のために働いた唯一のものです、どうもありがとう!
jaycarleton

@michael回答ありがとうございます。動作することを確認しました。
超音波装置

128

これは私のためにそれを修正しました:

sudo -H pip install -U pipenv

3
完璧に働きました!これらのコマンドの意味(-Hおよび-U)を偶然知っていますか?
Babbz77 2018年

12
@ Babbz77 sudoオプションの-H(HOME)は、セキュリティポリシーがHOME環境変数を、パスワードデータベースで指定されたターゲットユーザー(デフォルトではroot)のホームディレクトリに設定することを要求します。pip installの-Uは、指定されたすべてのパッケージを利用可能な最新バージョンにアップグレードします。依存関係の処理は、アップグレードによって異なります-使用する戦略。
Andrey Vaganov 2018年

本当にありがとうございました。私は苦労しましたが、あなたの答えは私を救いました。
vdkotian

1
これが答えです。完璧に働きました。しばらく検索しました。ありがとう
Ivan Gonzalez

62

ユーザーインストールを実行した場合は、PATH変数に適切なフォルダーを追加する必要があります。

PYTHON_BIN_PATH="$(python3 -m site --user-base)/bin"
PATH="$PATH:$PYTHON_BIN_PATH"

pipenvのインストール手順を参照してください


これは、を実行する必要があるという点で便利でしたpipenv run
eksortso 2018

1
python3 -m site--user-base dirが存在するかどうかをテストする必要があります!
Claudio Santos

回答を受け付けるべきでございます、ありがとうございます!
Maxime Lafarie

20

私はこれを試しました:

python -m pipenv # for python2

python3 -m pipenv # for python3

これがお役に立てば幸いです。


1
おかげで、pipenvを実行するたびにpython -mを含める必要があるのはなぜですか?
suisied

14

pipenvMac OS X 10.13 High Seirraでも同じ問題があります。別のMac でも問題なく動作します。Herokuを使用してDjangoサーバーをデプロイします。一部は2.7で、一部は3.6です。したがって、2.7と3.6の両方が必要です。HomeBrewがPythonをインストールすると、pythonポイントは元の2.7を保持します。python3ポイントしポイントは3.6を保持します。

に起因する可能性があり$ pip install pipenvます。/ usr / local / binを確認したところ、pipenvがありません。だから、私は完全なアンインストールを試みました:

$ pip uninstall pipenv

Cannot uninstall requirement pipenv, not installed
You are using pip version 9.0.1, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

$ pip3 uninstall pipenv
Skipping pipenv as it is not installed.

次に、再インストールして今すぐ機能します。

$ pip3 install pipenv
Collecting pipenv

8

OSXガイ、ここに!!!

@charlaxが答えたように(私にとって最良のもの)、より動的なコマンドを使用してPATHを設定できます。Mac ユーザーの場合、これは機能しませんでした。サイトから取得したUSER_BASEパスが間違っていることがあるので、どこにあるかを見つける必要がありますPythonのインストールです。

$ which python3
/usr/local/bin/python3.6

シンボリックリンクが表示されたら、ソースのシンボリックリンクを見つける必要があります。

$ ls -la /usr/local/bin/python3.6
  lrwxr-xr-x  1 root  wheel  71 Mar 14 17:56 /usr/local/bin/python3.6 -> ../../../Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6

(この ../../../はルートを意味します)

pythonパス(/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6)が見つかったら、次のように〜/ .bashrcを入力するだけです。

export PATH="$PATH:/Library/Frameworks/Python.framework/Versions/3.6/bin"


1
私の問題を修正しました。乾杯
Floran Gmehlin

Homebrewからpython3をインストールしました。実行しwhich python3たとき、出力は/Cellar/python/3.7.7/bin/python3PATHに割り当てたものでしたが、「pipenv」が見つかりませんでした。何か案が?
Ozkan Serttas

6

Pythonがパッケージを保存する場所

インストールするコマンドにジャンプする前に、Pythonパッケージpipenvがどこにpip インストールされるかを理解することは価値があります

グローバルサイトパッケージは、システム上のすべてのユーザーとすべてのPythonアプリケーションが使用できるパッケージをPythonがインストールする場所です。次のコマンドでグローバルサイトパッケージを確認できます

python -m site

たとえば、Python 3.7を使用するLinuxでは、パスは通常

/usr/lib/python3.7/dist-packages/setuptools

ユーザーsite-packagesは、Pythonがあなただけが利用できるパッケージをインストールする場所です。ただし、パッケージは、作成したすべてのPythonプロジェクトで引き続き表示されます。あなたはパスを得ることができます

python -m site --user-base

LinuxとPython 3.7では、パスは通常

~/.local/lib/python3.7/site-packages

Python 3.xの使用

ほとんどのLinuxおよびその他のUnicesでは、通常、Python 2とPython 3が並行してインストールされます。デフォルトのPython 3実行可能ファイルはほとんど常にpython3です。pipLinuxディストリビューションに応じて、次のいずれかとして利用できます。

pip3
python3-pip
python36-pip
python3.6-pip

Linux

との使用pipは避けてくださいsudo。はい、これはPythonパッケージをインストールする最も便利な方法であり、実行可能ファイルはで入手できますが/usr/local/bin/pipenv、特定のパッケージがすべてのユーザーと作成したすべてのPythonプロジェクトに常に表示されることも意味します。代わりに、代わりにユーザーごとのサイトパッケージを使用します。--user

pip3 install --user pipenv

pipenv で利用可能です

~/.local/bin/pipenv

マックOS

macOSでは、Pythonをインストールする方法としてHomebrewが推奨されます。Pythonを簡単にアップグレードし、複数のバージョンのPythonをインストールして、Homebrewを使用してバージョンを切り替えることができます。

自作のPythonを使用している場合pip install --userは、無効になります。グローバルサイトパッケージは次の場所にあります

/usr/local/lib/python3.y/site-packages

ここにPythonパッケージを安全にインストールできます。Python 3.yは、次の場所にあるモジュールも検索します。

 /Library/Python/3.y/site-packages
 ~/Library/Python/3.y/lib/python/site-packages

ウィンドウズ

従来の理由により、PythonはにインストールされC:\Python37ます。Pythonの実行可能ファイルは通常命名されpy.exe、あなたが実行することができますpippy -m pip

グローバルサイトパッケージがインストールされている

C:\Python37\lib\site-packages

通常はWindowsデバイスを共有しないため、パッケージをグローバルにインストールすることもできます

py -m pip install pipenv

pipenv で利用可能になりました

C:\Python37\Scripts\pipenv.exe

を使用してWindowsにPythonパッケージをインストールすることはお勧めしません。--userデフォルトのユーザーサイトパッケージディレクトリがWindowsのローミングプロファイルにあるためです。

C:\Users\user\AppData\Roaming\Python\Python37\site-packages 

移動プロファイルは、ターミナルサービス(リモートデスクトップ、Citrixなど)で、および企業環境でログオン/ログオフするときに使用されます。Windowsでのログイン、ログオフ、再起動が遅いのは、ローミングプロファイルが大きいためです。


5

pipenvをグローバルにインストールすると、グローバル/システム管理のpipインストールを上書きして悪影響が生じる可能性があり、pipを実行しようとするとインポートエラーが発生します。

ユーザーレベルでpipenvをインストールできます。

pip install --user pipenv

/home/username/.localのユーザーレベルでpipenvをインストールして、pipのグローバルバージョンと競合しないようにする必要があります。私の場合、「-user」スイッチを実行した後もそれは機能しなかったため、システム管理環境を復元するために、より長い「失敗したものを修正」コマンドを1回実行しました。

sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall

^ここで見つかりました:pipのアップグレード後のエラー:名前 'main'をインポートできません

そして、次のことを行いました:

mkdir /home/username/.local ...まだ存在しない場合

export PYTHONUSERBASE=/home/username/.local

エクスポートが有効になっていることを確認します(このプロセス中に一度私をかみます):

echo $PYTHONUSERBASE

それから、私は走りました、そして、pip install --user pipenvすべては順調でした。その後、CLIからpipenvを実行しても、グローバル/システム管理のpipモジュールは上書きされませんでした。もちろん、これはユーザーに固有なので、pipenvを使用するユーザーとして作業しているときに、この方法でpipenvをインストールする必要があります。

参照:

https://pipenv.readthedocs.io/en/latest/diagnose/#no-module-named-module-name https://pipenv.readthedocs.io/en/latest/install/#pragmatic-installation-of-pipenv https://pip.pypa.io/en/stable/user_guide/#user-installs



1

pipenv(sudo pip install pipenv)をインストールした後、pipenv shellコマンドを実行しようとすると、「Command Not Found」エラーが発生し続けました。

最後に次のコードで修正しました:

pip3 install pipenv
pipenv shell

0

pipenv経由でインストールすることを検討してくださいpipsi

curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get -pipsi.py | python3
pipsi install pew
pipsi install pipenv

残念ながら、そこにMacOSの+のpython3を持ついくつかの問題は、執筆時点である参照12。私の場合、bashpromptを#!/Users/einselbst/.local/venvs/pipsi/bin/python


0

古いpipバージョンの場合:

sudo easy_install pip
sudo pip install pipenv

0

ウィンドウユーザーの場合、これはvirtualenvとのインストールの競合が原因である可能性があります。私にとっては、virtualenvとpipenvを最初にアンインストールし、次にpipenvのみをインストールしたときに機能しました。

pip uninstall virtualenv
pip uninstall pipenv
pip install pipenv

pipenv install xxx私のために働いた


0

Mac OS X Catalinaでは、Linuxパスをたどっているようです。次のいずれかを使用:

pip install pipenv
pip3 install pipenv
sudo pip install pipenv
sudo pip3 install pipenv

基本的にここにpipenvをインストールします:

/Users/mike/Library/Python/3.7/lib/python/site-packages/pipenv

しかし、それは実行可能ファイルではないため、決して見つかりません。私のために働いた唯一のものは

pip install --user pipenv

これにより__init__.py、上記のディレクトリに、pipenvコマンドを正しく公開するためのコンテンツを含むファイルが作成されるようです。

そして、この質問に関する他の投稿やコメントの提案がすべて失敗したときに、すべてが機能し始めました。

pipenvパッケージは確かにかなりうるさいようです。


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