web-dev-qa-db-ja.com

python 3.8のpip

私はpython3.8をインストールしました:

 Sudo apt install python3.8

python 3.8のpipをインストールしたい

 python3.8 -m pip install pip
 Requirement already satisfied: pip in /usr/lib/python3/dist-packages (18.1)

しかし、pip 3は.7です。

 pip3 -V
 pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)

そのため、たとえば:

pip3 install pyinotify
Requirement already satisfied: pyinotify in ./.local/lib/python3.7/site-packages (0.9.6)

Pyinotifyをpython3.8スクリプトにインポートしようとすると、ModuleNotFoundエラーがスローされます

5
Stephen Boston

正しいピップを使用していることを確認するには、次のように使用してください。

python3.8 -m pip install pyinotify

Pythonコア開発者の1人であるBrett Cannonが、最近このトピックに関するブログ記事を公開しました: https://snarky.ca/why-you-should-use-python -m-pip /

以上のことから、通常、システムPythonではなく、仮想環境にPythonパッケージをインストールする必要があります。

https://realpython.com/python-virtual-environments-a-primer/

4
jugmac00

Miniconda または Anaconda を使用してみましたか?

簡単に言えば、これはさまざまなpython=バージョンをテストするための良い方法であり、システムを台無しにすることを心配する必要はありませんpython(projects/installers thatキーワードpython)を使用してください。

  1. インストール後、ターミナルを開いてcondaを初期化します(PATHに追加しなかった場合)_source ~/miniconda3/bin/activate_
  2. チャンネルintelと_conda-forge_を追加して、そこにパッケージを見つけます:_conda config --add channels intel && conda config --add channels conda-forge_
  3. python 3.8およびpip _conda create -n py38 python=3.8 pip_を使用してpy38と呼ばれる新しい環境を作成します。
  4. Condaは環境を解決し、パッケージに互換性があることを確認します。最初の問題に対処するには、pipバージョンを再確認します(私が行ったときは_pip-19.3.1-py38_0_でした)
  5. 環境をアクティブにする_conda activate py38_
  6. この環境内でpythonを入力すると、設定したインタープリターが使用されます。また、_pip install_および_conda install_は、_py38_またはスイッチを切り替えるまで、_conda deactivate_環境に転送されます。

_conda create -n py38 python=3.8 pip_を実行したときの出力は次のとおりです。

パッケージメタデータの収集(current_repodata.json):完了解決環境:完了

パッケージプラン

環境の場所:/ home/mikkeyboi/miniconda3/envs/py38

追加/更新された仕様:-pip-python = 3.8

次のパッケージがダウンロードされます。

_package                    |            build
---------------------------|-----------------
certifi-2019.9.11          |           py38_0         147 KB  conda-forge
pip-19.3.1                 |           py38_0         1.9 MB  conda-forge
python-3.8.0               |       h357f687_3        39.0 MB  conda-forge
setuptools-41.6.0          |           py38_1         628 KB  conda-forge
wheel-0.33.6               |           py38_0          35 KB  conda-forge
------------------------------------------------------------
                                       Total:        41.7 MB
_

次の新しいパッケージがインストールされます。

_libgcc_mutex pkgs/main/linux-64 :: _ libgcc_mutex-0.1-main
ca-certificates
conda-forge/linux-64 :: ca-certificates-2019.9.11-hecc5488_0 certifi
conda-forge/linux-64 :: certifi-2019.9.11-py38_0 libffi
conda-forge/linux-64 :: libffi-3.2.1-he1b5a44_1006 libgcc-ng
pkgs/main/linux-64 :: libgcc-ng-9.1.0-hdf63c60_0 libstdcxx-ng
pkgs/main/linux-64 :: libstdcxx-ng-9.1.0-hdf63c60_0 ncurses
conda-forge/linux-64 :: ncurses-6.1-hf484d3e_1002 openssl
conda-forge/linux-64 :: openssl-1.1.1d-h516909a_0 pip
conda-forge/linux-64 :: pip-19.3.1-py38_0 python
conda-forge/linux-64 :: python-3.8.0-h357f687_3 readline
conda-forge/linux-64 :: readline-8.0-hf8c457e_0 setuptools
conda-forge/linux-64 :: setuptools-41.6.0-py38_1 sqlite
conda-forge/linux-64 :: sqlite-3.30.1-hcee41ef_0 tk
conda-forge/linux-64 :: tk-8.6.9-hed695b0_1003ホイール
conda-forge/linux-64 :: wheel-0.33.6-py38_0 xz
conda-forge/linux-64 :: xz-5.2.4-h14c3975_1001 zlib
conda-forge/linux-64 :: zlib-1.2.11-h516909a_1006

続行しますか([y]/n)? y

パッケージのダウンロードと解凍python-3.8.0 | 39.0 MB |

############################### | 100%setuptools-41.6.0 | 628 KB | ##################################### | 100%pip-19.3.1

| 1.9 MB | ##################################### | 100%ホイール-0.33.6 | 35 KB |

############################### | 100%認証-2019.9.11 | 147 KB | ##################################### | 100%準備中

トランザクション:完了トランザクションの確認:完了トランザクションの実行:完了

また、インポートの問い合わせに対処するために_pip install pyinotify_を行いました。python -c "import pyinotify; print(pyinotify.__version__)"は_0.9.6_をくれました。

0
mikkeyboi

これを正しく行う簡単な方法が見つからなかったので、私はこの問題を自分で解決しました。

Python3.7が最初にインストールされたため、Python3.8をインストールしても古いpipは置き換えられません。

Pip3の場所を調べてみてください

$ which pip3

私の場合(macOS)、それは/ usr/local/bin/pip3にあります

$ cd /usr/local/bin

Python3.8 pipを正しくインストールすると、pip3.8が表示されるはずです。

もしそうなら、それを削除してみてください。

$ Sudo rm pip

そして、pip3.8を新しい名前pip3でコピーします

$ Sudo cp pip3.8 pip3

それでおしまい!!!

それが完璧な解決策であるかどうかはわかりませんが、私にとってはうまくいきます。

0
Coco Golden