私は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を変更する必要があるのではないかと疑っていますが、ファイルに何を追加するのか、または変更が必要かどうかはわかりません。
これは、グローバル(システム全体)にインストールしていないために発生します。 path
で使用可能にするには、次のようにSudo
を使用してインストールする必要があります。
$ Sudo pip install pipenv
これは私のためにそれを修正しました:
Sudo -H pip install -U pipenv
ユーザーインストールを行った場合は、PATH
変数に適切なフォルダーを追加する必要があります。
PYTHON_BIN_PATH="$(python3 -m site --user-base)/bin"
PATH="$PATH:$PYTHON_BIN_PATH"
pipenvのインストール手順 を参照してください
Mac OS X 10.13 High Seirraのpipenv
にも同じ問題があります。別の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
私はこれを試しました:
python -m pipenv # for python2
python3 -m pipenv # for python3
これがあなたのお役に立てば幸いです。
OSX GUYS、OVER HERE !!!
@charlaxが答えたように(私にとっては最高のもの)、より動的なコマンドを使用してPATHを設定することができます、buuut 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"
pipenv
をインストールするコマンドにジャンプする前に、pip
installs Python packages の場所を理解する価値があります。
グローバルサイトパッケージは、PythonがすべてのユーザーとすべてのPythonアプリケーションで利用できるパッケージをインストールする場所ですシステム上。次のコマンドでグローバルサイトパッケージを確認できます
python -m site
たとえば、Python 3.7を使用するLinuxでは、通常、パスは
/usr/lib/python3.7/dist-packages/setuptools
User site-packagesは、Pythonがあなただけが利用できるパッケージをインストールします。ただし、パッケージは、作成したすべてのPythonプロジェクトに引き続き表示されます。でパスを取得できます
python -m site --user-base
LinuxでPython 3.7を使用する場合、パスは通常
~/.local/lib/python3.7/site-packages
ほとんどのLinuxおよび他のUnicesでは、通常Python 2とPython 3が並行してインストールされます。デフォルトのPython 3実行可能ファイルはほとんどの場合python3
です。 pip
は、Linuxディストリビューションに応じて、次のいずれかとして利用できます。
pip3
python3-pip
python36-pip
python3.6-pip
pip
をSudo
と一緒に使用しないでください!はい、これはPythonパッケージをインストールする最も便利な方法であり、実行可能ファイルは/usr/local/bin/pipenv
で入手できますが、特定のパッケージはすべてのユーザーとすべてのPython作成するプロジェクト。代わりに、--user
で代わりにユーザーごとのサイトパッケージを使用します
pip3 install --user pipenv
pipenv
はで利用可能です
~/.local/bin/pipenv
MacOSでは、 HomebrewはPythonのインストールに推奨される方法です 。 Pythonを簡単にアップグレードし、Pythonの複数のバージョンをインストールし、Homebrewを使用してバージョンを切り替えることができます。
Homebrew'ed 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
という名前であり、py -m pip
でpip
を実行できます。
グローバルサイトパッケージはにインストールされます
C:\Python37\lib\site-packages
通常はWindowsデバイスを共有しないため、パッケージをグローバルにインストールすることもできます
py -m pip install pipenv
pipenv
は現在、
C:\Python37\Scripts\pipenv.exe
Pythonパッケージを--user
でWindowsにインストールすることはお勧めしません。デフォルトのユーザーサイトパッケージディレクトリがWindows移動プロファイルにあるためです
C:\Users\user\AppData\Roaming\Python\Python37\site-packages
移動プロファイルは、ターミナルサービス(リモートデスクトップ、Citrixなど)および企業環境でログオン/ログオフするときに使用されます。 Windowsでのログイン、ログオフ、再起動が遅いのは、大きな移動プロファイルが原因である可能性があります。
Pipenvをグローバルにインストールすると、グローバル/システム管理のpipインストールが上書きされるため、pipを実行しようとしたときにインポートエラーが発生する可能性があります。
ユーザーレベルでpipenvをインストールできます。
pip install --user pipenv
これは、pipのグローバルバージョンと競合しないように、/ home/username/.localのユーザーレベルでpipenvをインストールする必要があります。私の場合、「-user」スイッチを実行した後でもまだ機能しませんでしたので、システム管理環境を復元するために、「修正したものを修正」コマンドを一度実行しました:
Sudo python3 -m pip uninstall pip && Sudo apt install python3-pip --reinstall
^ここにあります: pipのアップグレード後のエラー:名前 'main'をインポートできません
その後、次のことを行いました。
mkdir /home/username/.local
...まだ存在しない場合
export PYTHONUSERBASE=/home/username/.local
エクスポートが有効になったことを確認します(このプロセス中に1回噛み付きます)。
echo $PYTHONUSERBASE
次に、pip install --user pipenv
を実行しましたが、すべて順調でした。 CLIからpipenvを実行できましたが、グローバル/システム管理のpipモジュールは上書きされませんでした。もちろん、これはユーザー固有のものであるため、pipenvを使用したいユーザーとして作業しているときに、確実にこの方法でpipenvをインストールしてください。
参照:
https://pipenv.readthedocs.io/en/latest/diagnose/#no-module-named-module-namehttps://pipenv.readthedocs.io/en/latest/install /#pragmatic-installation-of-pipenvhttps://pip.pypa.io/en/stable/user_guide/#user-installs
Pipenv(Sudo pip install pipenv
)をインストールした後、pipenv Shell
コマンドを実行しようとすると「Command Not Found」エラーが表示され続けました。
最終的に次のコードで修正しました。
pip3 install pipenv
pipenv Shell
これは私のために修正されています:
Sudo -H pip install -U pipenv
ウィンドウユーザーの場合、これはvirtualenvとのインストールの競合が原因である可能性があります。私にとっては、virtualenvとpipenvを最初にアンインストールし、次にpipenvのみをインストールしたときに機能しました。
pip uninstall virtualenv
pip uninstall pipenv
pip install pipenv
今pipenv install xxx
は私のために働いた
古いpip
バージョンの場合:
Sudo easy_install pip
Sudo pip install pipenv