openSUSE: установить альтернативную версию python без изменения версии по умолчанию

Если вам нужно поддерживать разные версии одновременно, лучше всего установить их в свое дерево. configure принимает необязательный аргумент –prefix =/path/to/installation/root.
Мы могли бы установить дополнительный программный пакет в виде файла /opt/local/x86_64-linux-gnu/python-2.6.6. Пользователи, которым нужна эта конкретная версия, могут затем добавить /opt/local/x86_64-linux-gnu/python-2.6.6/bin к их $ PATH или использовать virtualenvили GNU stow .

Для примера следующий набор шагов:

1
2
3
4
5
6
7
8
9
$ cd
$ mkdir -p soft/python/opt/2.7.14
$ cd soft/python
$ wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz
$ tar xvfz Python-2.7.14.tgz
$ cd Python-2.7.14
$ ./configure --prefix=${HOME}/soft/python/opt/2.7.14
$ make
$ make altinstall

и добавить обновление PATH в локальный профиль

1
export PATH="${HOME}/soft/python/opt/2.7.14/bin:$PATH";

После этого Вам будет нужно установить pip в указанные каталоги, к примеру, этим путем (ref.https://pip.pypa.io/en/stable/installing/):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ cd soft/python
$ curl https://bootstrap.pypa.io/get-pip.py --output get-pip.py
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1558k  100 1558k    0     0  1991k      0 --:--:-- --:--:-- --:--:-- 1992k
$ $ ./opt/2.7.14/bin/python2.7 get-pip.py
Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 249kB/s
Collecting setuptools
  Downloading setuptools-38.2.1-py2.py3-none-any.whl (489kB)
    100% |████████████████████████████████| 491kB 407kB/s
Collecting wheel
  Downloading wheel-0.30.0-py2.py3-none-any.whl (49kB)
    100% |████████████████████████████████| 51kB 709kB/s
Installing collected packages: pip, setuptools, wheel
Successfully installed pip-9.0.1 setuptools-38.2.1 wheel-0.30.0

После этого для примера Вы уже можете добавить пакет tox для сборки частей документации nova-openstack или подобных:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$ ./opt/2.7.14/bin/pip install tox
Collecting tox
  Downloading tox-2.9.1-py2.py3-none-any.whl (73kB)
    100% |████████████████████████████████| 81kB 422kB/s
Collecting virtualenv>=1.11.2; python_version != "3.2" (from tox)
  Downloading virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB)
    100% |████████████████████████████████| 1.8MB 456kB/s
Collecting py>=1.4.17 (from tox)
  Downloading py-1.5.2-py2.py3-none-any.whl (88kB)
    100% |████████████████████████████████| 92kB 2.4MB/s
Collecting six (from tox)
  Downloading six-1.11.0-py2.py3-none-any.whl
Collecting pluggy<1.0,>=0.3.0 (from tox)
  Downloading pluggy-0.6.0.tar.gz
Building wheels for collected packages: pluggy
  Running setup.py bdist_wheel for pluggy ... done
  Stored in directory: /home/user/.cache/pip/wheels/df/44/8e/e136760ae525eac46b3e3db643ef58ff1753177b5a722b0c96
Successfully built pluggy
Installing collected packages: virtualenv, py, six, pluggy, tox
Successfully installed pluggy-0.6.0 py-1.5.2 six-1.11.0 tox-2.9.1 virtualenv-15.1.0
1
2
$.../nova/git/nova-master
$ .../soft/python/opt/2.7.14/bin/tox -e docs
Scroll to top