На этот вопрос уже есть ответ здесь:
Я хочу собрать 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 ?
Спасибо.
Во-первых, для проверки я запустил с чистого листа, я взял следующие шаги:
xlwt
(для тестирования), через sudo apt-get uninstall python-xlwt
и pip uninstall xlwt
sudo apt-get uninstall python-pip
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
~/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()
Этот целый процесс, возможно, был очевиден для неновичков, но я - новичок, таким образом, я выписал все это.
Установите его в/usr/local
./configure --prefix=/usr/local