
Я обновился до Ubuntu 21.04, так как предпочитаю не использовать LTS-релизы (т.е. иметь более поздние пакеты). Я с удовольствием работаю над новой кодовой базой с Python 3.9 по умолчанию
Но для старого проекта, работающего на Python 3.6, я хочу также установить версию до 3.9 (я столкнулся с проблемой упаковки, связанной с версией 3.9https://github.com/hzdg/django-enumfields/commit/8a54ab6ca1a406b4f736b1d8a1daff49431a1c5cно я бы предпочел иметь версии 3.6 или 3.7, доступные для моих virtualenv по мере необходимости, чем вносить исправление, специфичное для 3.9, для кодовой базы, которая в настоящее время работает на 3.6).
Я установил deadsnakes ppa sudo add-apt-repository ppa:deadsnakes/ppa
и сделал обновление. Но затем, пытаясь установить более раннюю версию python, я получаю проблему зависимости (вероятно, потому что это центральный пакет)
sudo apt-get install python3.7
Reading package lists... Done
Building dependency tree... Done
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:
python3.7 : Depends: libpython3.7-stdlib (= 3.7.12-1+focal1) but it is not installable
E: Unable to correct problems, you have held broken packages.
решение1
Вам следует скомпилировать его самостоятельно. Используйте:
sudo apt-get install libssl-dev openssl
wget https://www.python.org/ftp/python/<version>/Python-<version>.tgz
tar xzvf Python-<version>.tgz
cd Python-<version>
./configure
make
while <version>
— допустимая версия Python, например 3.7.0
.