Если вам нужно поддерживать разные версии одновременно, лучше всего установить их в свое дерево. 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 |