В чем разница между <имя пакета> и python- <имя пакета>? - PullRequest
0 голосов
/ 06 марта 2019

Я хочу понизить торнадо до предыдущей версии, потому что новая вызывает ошибку в соответствии с ответами здесь: Ядро ноутбука Jupyter не подключается .Я нахожусь на Ubuntu, в виртуальной среде.

Чтобы проверить текущую версию, я использовал pip freeze и получил это: tornado == 6.0.1.Когда я использую apt-cache policy tornado, вывод: «Невозможно найти торнадо пакета».Когда я набираю apt-cache policy python-tornado, выводится "python-tornado: Installed: 4.5.3-1".

Как мне продолжить?Моя конечная цель - запустить ноутбук Jupyter, и для этого мне нужно найти этот модуль торнадо.В чем разница между торнадо и питон-торнадо?Какой из них мне нужен?

1 Ответ

1 голос
/ 06 марта 2019

Одним из этих имен является фактическое имя пакета, под которым оно публикуется в индексе пакетов Python (PyPI) , которое является пространством имен, с которым pip имеет дело.

Другое - это имя, заданное вашей операционной системой Ubuntu, и, учитывая строку версии, я предполагаю, что вы используете Ubuntu 18.04 Bionic Beaver . Ubuntu использует строгое соглашение об именах, где все пакеты Python должны начинаться с префикса python-. Эти пакеты управляются и устанавливаются менеджером пакетов вашей ОС.

Порядок действий зависит от настроек Jupyter. Если он установлен и работает из virtualenv, то вы можете использовать команду pip, когда virtualenv активен для изменения версий там. Учтите, что использование pip уже должно гарантировать, что вы устанавливаете совместимые версии; Вы можете попробовать обновить jupyter, если tornado был обновлен независимо.

Если вы используете управляемый Ubuntu пакет jupyter , то и менеджер пакетов должен позаботиться о соответствующих версиях.

Однако, если вы используете virtualenv, у которого все еще есть доступ к системе jupyter, управляемой операционной системой, в то время как локально установлен только торнадо, то вы хотите добавить jupyter к вашему virtualenv, чтобы замаскировать версию системы. , который слишком стар.

...