私は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
エラーがスローされます
正しいピップを使用していることを確認するには、次のように使用してください。
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/
Miniconda または Anaconda を使用してみましたか?
簡単に言えば、これはさまざまなpython=バージョンをテストするための良い方法であり、システムを台無しにすることを心配する必要はありませんpython(projects/installers thatキーワードpython
)を使用してください。
source ~/miniconda3/bin/activate
_intel
と_conda-forge
_を追加して、そこにパッケージを見つけます:_conda config --add channels intel && conda config --add channels conda-forge
_conda create -n py38 python=3.8 pip
_を使用してpy38と呼ばれる新しい環境を作成します。pip-19.3.1-py38_0
_でした)conda activate py38
_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
_をくれました。
これを正しく行う簡単な方法が見つからなかったので、私はこの問題を自分で解決しました。
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
それでおしまい!!!
それが完璧な解決策であるかどうかはわかりませんが、私にとってはうまくいきます。