Python3.5 требует установки pip в virtualenv и его удаление, вызывающее ошибки
nmj@pc-nm:~$ sudo apt remove python3.5
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies.
debconf : PreDepends: perl-base (>= 5.6.1-4) but it is not going to be installed
Recommends: apt-utils (>= 0.5.1) but it is not going to be installed
Recommends: debconf-i18n but it is not going to be installed
init-system-helpers : Depends: perl-base (>= 5.20.1-3) but it is not going to be installed
libacl1 : Depends: libattr1 (>= 1:2.4.46-8) but it is not going to be installed
libedit2 : Depends: libtinfo5 (>= 6) but it is not going to be installed
libsystemd0 : PreDepends: libgcrypt20 (>= 1.6.1) but it is not going to be installed
libxml2 : Depends: libicu65 (>= 65.1-1~) but it is not going to be installed
libzvbi0 : Depends: libpng12-0 (>= 1.2.13-4) but it is not going to be installed
procps : Depends: libncurses5 (>= 6) but it is not going to be installed
Depends: libncursesw5 (>= 6) but it is not going to be installed
Depends: libprocps4 but it is not going to be installed
Depends: libtinfo5 (>= 6) but it is not going to be installed
Depends: initscripts
psmisc : Depends: libtinfo5 (>= 6) but it is not going to be installed
systemd : PreDepends: libgcrypt20 (>= 1.6.1) but it is not going to be installed
Depends: libaudit1 (>= 1:2.2.1) but it is not going to be installed
Depends: libblkid1 (>= 2.19.1) but it is not going to be installed
Depends: libcryptsetup4 (>= 2:1.4.3) but it is not going to be installed
Depends: libmount1 (>= 2.26.2) but it is not going to be installed
Depends: libpam0g (>= 0.99.7.1) but it is not going to be installed
Depends: util-linux (>= 2.27.1)
Depends: mount (>= 2.26)
Depends: adduser but it is not going to be installed
Recommends: libpam-systemd but it is not going to be installed
Recommends: dbus
ucf : Depends: coreutils (>= 5.91)
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
Выше мой журнал ошибок. Я пытаюсь удалить python3.5, чтобы сохранить python3.9, но я продолжаю получать эту ошибку. Мне нужна помощь, ребята, я использую Ubuntu 16.04LTS. И я пытаюсь работать над проектом django, но pip даже внутри venv продолжает анализировать все свои пакеты в базовом каталоге python3.5, и это становится так раздражает, потому что после нескольких часов поиска исправления, я продолжаю сталкиваться с новыми ошибками из-за конфликта версий.
Затем для virtualenv всякий раз, когда я пытаюсь установить django с помощью
Спасибо
2 ответа
Ваша проблема мне не совсем ясна из вашего описания. Но у меня есть идея, возможно, она поможет вам.
Сколько версий Python установлено в вашей системе?
Если вы этого не знаете, попробуйте это,
find /usr /lib* /home -type d \( -name "*site-packages" -or -name "*dist-packages" \)
Идея состоит в том, чтобы найти все места для дистрибутива Python и папок пакетов.
/usr/lib/python2.7/dist-packages
/usr/lib/python3/dist-packages
/home/name/pyenv/versions/3.8.3/lib/python3.8/site-packages
Тогда у вас будет четкое представление о том, какие версии Python были скомпилированы для вашей системы.
Теперь пришло время получить все их s. (некоторые из них могут не иметь, если вы не установите его)
find /bin /usr /lib* /home -type f -name "pip*" -executable
Вы можете получить некоторые результаты, такие как;
/usr/bin/pip3
/usr/bin/pip3.5
/home/NAME/pyenv/shims/pip3
Протестируйте их один за другим, используя:
PATH-of-PIP --version
e.g.
/usr/bin/pip3 --version
Чтобы знать, где те
pips ссылаются на.
В вашем случае, поскольку вы хотите использовать версию
python-3.9, Вы можете;
pip-full-path-for-3.9 install django
Для удобства вы также можете навсегда добавить его в свой
.bashrcфайл. Мое предложение состоит в том, чтобы добавить
aliasк этому. Или сделать символическую ссылку. Или измените его имя, чтобы его было легко запомнить, если вы действительно уверены в этом.
echo "alias pip3.9=pip-full-path-for-3.9" >> ~/.bashrc
Я нашел исправление для этого. Очень просто создать виртуальные среды, зависящие от версии.
Как?
virtualenv venv --python=python3.9
сверху python 3.9 будет единственной версией
source venv/bin/activate
Теперь подтвердите свою свободную от конфликтов зону следующим
pip --version
pip3 --version
2 результата в 1 ответе
python --version
python3 --version
python3.9 --version
Выше 3 приводят к 1 ответу.
Теперь для установки из pip вы просто делаете
pip install ...
pip --freezeпокажет вам все требования внутри venv в qn
Надеюсь, это поможет кому-то там.