зернышко для python 3.8

Я установил python3.8:

 sudo apt install python3.8

Я теперь хочу установить зернышко для python 3.8

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

Но зернышко 3 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 сценарию бросает a ModuleNotFound ошибка

0
задан 8 November 2019 в 22:51

5 ответов

sudo apt install python3-pip или python3.8-pip

Позвольте системе управлять Вашей версией Python.

1
ответ дан 22 December 2019 в 00:03

Чтобы удостовериться, что Вы используете корректное зернышко, используйте его следующим образом:

python3.8 -m pip install pyinotify

Brett Cannon, один из разработчиков ядра Python, просто недавно опубликовал статью блога об этой теме: https://snarky.ca/why-you-should-use-python-m-pip/

Это все сказало, Вы обычно хотите установить пакеты Python в виртуальную среду, не в системе Python.

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

1
ответ дан 22 December 2019 в 00:03

Вы попытались использовать Miniconda или Anaconda?

Короче говоря это - хороший способ протестировать различные версии Python, и Вы не должны будете волноваться о том, чтобы портить Ваш системный Python (проекты/установщики, которые используют ключевое слово python).

  1. После установки, открытого терминала и инициализируют conda (если Вы не добавили его для СОЕДИНЕНИЯ КАНАЛОМ), source ~/miniconda3/bin/activate
  2. Добавьте каналы intel и conda-forge найти пакеты там: conda config --add channels intel && conda config --add channels conda-forge
  3. Создайте новую среду, названную py38 с python 3.8 и зернышком conda create -n py38 python=3.8 pip
  4. Conda решит среду и удостоверится, что пакеты совместимы. Решая Вашу начальную проблему, можно проверить версию зернышка дважды (когда я сделал это, это было 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

добавленный / обновленные спецификации: - зернышко - 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
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
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 МБ |

############################### | 100% setuptools-41.6.0 | 628 КБ | ##################################### | 100% побеждают 19.3.1

| 1,9 МБ | ##################################### | 100%-е колесо 0.33.6 | 35 КБ |

############################### | 100% certifi-2019.9.11 | 147 КБ | ##################################### | 100%-я Подготовка

транзакция: сделанная транзакция Проверки: сделанная Выполняющаяся транзакция:готово

Я также сделал pip install pyinotify обратиться к Вашему запросу импорта, python -c "import pyinotify; print(pyinotify.__version__)" дал мне 0.9.6.

0
ответ дан 22 December 2019 в 00:03

Я решил эту проблему сам, потому что не мог найти простого способа исправить это.

Поскольку сначала установлен Python3.7, а Python3.8 не собирается заменять старый пакет при его установке.

Попытайтесь найти расположение 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
ответ дан 21 February 2020 в 03:46

У меня была такая же проблема. Я думаю, что лучше всего вызывать pip из установки python, что заставляет вас указывать конкретную версию python, в которой устанавливается библиотека, т.е.

python3.8 -m pip install pyinotify

В качестве альтернативы вы можете изменить установку python по умолчанию, чтобы pip3 ссылался на python3.8. Для управления версиями Python вы можете использовать update-alternatives:

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2

Теперь вам нужно будет выбрать версию по умолчанию. Запустите следующее и нажмите 2

sudo update-alternatives --config python3

pip3 теперь должен ссылаться на ваш пакет python3.8

-1
ответ дан 11 August 2020 в 19:04

Другие вопросы по тегам:

Похожие вопросы: