Как изолировать Python 2.7.X от Ubuntu 12.04, в котором по умолчанию установлен Python 2.7.3? [дубликат]

Я хочу собрать Python 2.7.8 на моем компьютере с Ubuntu 12.04, который имеет Python 2.7.3 в качестве дистрибутива по умолчанию. Я хотел бы «установить» Python 2.7.8, но полностью изолировать его от Python 2.7.3 - это означает, что я вообще не хочу вмешиваться в Python по умолчанию в дистрибутиве, включая модули, установленные через apt-get или PIP.

Я бы хотел сделать это из исходного кода и не хотел бы использовать virtualenv - я бы предпочел научиться делать это «сложным» способом, прежде чем использовать более сложные инструменты.

Вторая часть, связанная с этим вопросом: после того, как я установил Python 2.7.8, как я могу иметь два разных PIP: модули Python по умолчанию устанавливаются на Python 2.7.3, а альтернативные модули для установки на Python 2.7.8 ?

Спасибо.

3
задан 29 September 2014 в 23:02

2 ответа

Во-первых, для проверки я запустил с чистого листа, я взял следующие шаги:

  • Удаленный пакет xlwt (для тестирования), через sudo apt-get uninstall python-xlwt и pip uninstall xlwt
  • Удаленное ЗЕРНЫШКО через sudo apt-get uninstall python-pip
  • Сделанный чистый исходный каталог Python (~/src/Python2.7.8) через make clean
  • Удостоверенное зернышко не было доступно через which pip (приведший ни к чему)

Чтобы создать Python 2.7. X и удостовериться, ЗЕРНЫШКО настроено для только что определенная установка

  • (принимающий уже загруженный и распакованный в корневой каталог, сказать ~/src/Python2.7.8)
  • Сделайте два каталога для --prefix и --exec-prefix настройте опции, скажите ~/bld/python2.7.8_ind и ~/bld/python2.7.8_dep
  • Перейдите к исходному каталогу (например, ~/src/Python2.7.8) и тип

    ./configure --prefix=/home/uname/bld/python2.7.8_ind --exec-prefix=/home/uname/bld/python2.7.8_dep
    
  • ввести make && make install

Двоичный файл python (или символьная ссылка на двоичный файл), поскольку эта установка расположена в этом примере в /home/uname/bld/python2.7.8_dep/bin

  • Используйте этот двоичный файл для установки зернышка от https://bootstrap.pypa.io/get-pip.py путем ввода ~/bld/python2.7.8_dep/bin/python get-pip.py

Это создает (ранее несуществующий) каталог bin в ~/bld/python2.7.8_ind и помещает исполняемые файлы ЗЕРНЫШКА туда, которые будут использоваться для этой определенной установки. Пакеты ЗЕРНЫШКА помещаются в ~/bld/python2.7.8_ind/lib/python2.7/site-packages (который был ранее пуст, сохранили файл README).

Теперь, для установки первого пакета на этой определенной установке Python,

Я проверил что каталог ~/bld/python2.7.8_ind/lib/python2.7/site-packages содержит только пакеты, добавленные во время установки ЗЕРНЫШКА (зернышко, setuptools, easy_install)

  • ввести ~/bld/python2.7.8_dep/bin/pip install xlwt

Теперь, каталог ~/bld/python2.7.8_ind/lib/python2.7/site-packages содержит новый пакет (xlwt).

Теперь, когда я ввожу

~/bld/python2.7.8_dep/bin/python
>>> import xlwt

это работает, и ввод python и import xlwt производит ошибку (как ожидалось). Также проверьте, что путь искал пакеты новой установкой Python, корректно с

~/bld/python2.7.8_dep/bin/python
>>> import site
>>> site.getsitepackages()

Этот целый процесс, возможно, был очевиден для неновичков, но я - новичок, таким образом, я выписал все это.

2
ответ дан 18 November 2019 в 05:00

Установите его в/usr/local

./configure --prefix=/usr/local
0
ответ дан 18 November 2019 в 05:00

Другие вопросы по тегам:

Похожие вопросы: