2013-12-23 4 views
0

Я скомпилировал Python 2.7.6 из исходного кода в Ubuntu 12.0.4.3. Он может быть найден в /opt/python276/bin/python2.7Конфигурирование псевдонимов bash для virtualenvwrapper

Затем я создал alias python276=/opt/python276/bin/python2.7 в .bashrc

в Баш терминале, можно ввести python276 и получить правильный интерпретатор, но когда я пытаюсь создать virtualenv с помощью virtualenvwrapper:

[email protected]:/opt/python276/bin$ mkvirtualenv test -p python276 
The executable python276 (from --python=python276) does not exist 

Что мне не хватает? Я могу создать virtualenvs с системным python, но не скомпилированным.

** Редактировать **

В конце концов я нашел именно то, что я искал. Способ создания virtualenv без указания фактического пути заключается в создании символической ссылки. В этой ситуации я бы создал символическую ссылку из исполняемого файла Python на ~/bin, а затем допустил ~/bin на мой путь.

ln -s /opt/python3.3/bin/python3.3 ~/bin/python33 
echo 'export PATH=~/bin:$PATH' >> ~/.bashrc 

Затем я могу сделать mkvirtualenv testenv -p python33

ответ

1

Примечание псевдоним работает при вызове его. Если вы используете его как параметр другой команды, это не интерпретируется. Следовательно, в вашем mkvirtualenv ... вы должны явно указать путь к этому питону.

В противном случае, вы можете установить переменную

mypython276=/opt/python276/bin/python2.7 

, а затем сделать

mkvirtualenv test -p $mypython276 

Как сказано в комментариях, вы можете также добавить /opt/python3.3/bin/ в переменную PATH.

+0

Это единственный способ обойти это? Я уверен, что смог использовать псевдоним в прошлом. – puffin

+0

Насколько я знаю, да @puffin. Не могли бы вы показать те случаи, когда псевдонимы могли использоваться в прошлом? Может быть, я чего-то не хватает. – fedorqui

+0

Нет, не могу найти пример. Я должен ошибаться. – puffin

Смежные вопросы