2014-10-18 5 views
1

Просто переформатировал мой Mac на Yosemite и установил Python 2 & 3 используя Homebrew. Я также установил некоторые псевдонимы в файле bash_profile, который позволяет мне активировать ту версию Python, которую я хочу использовать. Поэтому, если я наберу p3, он запустит оболочку python3.Активировать другую версию Python в терминале

Мне интересно, можно ли активировать определенную версию Python без его запуска оболочки Python? Итак, если я приведу какие-либо файлы в терминал, например, он будет использовать версию, которую я активировал?

Cheers!

Извините, если это было отредактировано в другом месте, у меня был хороший поиск, но я ничего не мог найти.

+1

Не могли бы вы объяснить «интересно, можно ли активировать определенную версию Python» Также, что вы подразумеваете под «приносить какие-либо файлы»? Запускать файлы сценариев python? –

+0

Если я нахожу p3, я хочу, чтобы он использовал python3 без запуска оболочки для этого конкретного сеанса терминала. Поэтому, если я перетаскиваю любые файлы в окно терминала или открываю любые файлы из команд, он запускает его с помощью Python 3 или 2 в зависимости от выбранной мной версии. – user2942863

ответ

5

Вместо того, чтобы писать свои собственные сценарии для управления различными версиями Python, я предложил бы использовать высоко используемый менеджер, который был проверен в и сообществом: pyenv. С pyenv вы можете:

  1. легко установить несколько различных версий Python из командной строки без каких-либо проблем их боевых (pyenv install 3.4.2)

  2. Создание виртуальных сред с любой из этих версий, если вы хотите полочкам пакеты, которые доступны (pyenv virtualenv 3.4.2 mypy3projectvenv) и

  3. Установить специальные среды или версии, чтобы быть активными либо
    • Г.Л. obally (pyenv global [version-or-venv])
    • локально в и ниже папках настроенными (pyenv local [ver-or-venv]), как правило, полезно для проектов, которые вы имеете в конкретной версии/virtualenv и
    • локальными по отношению к оболочке до закрытия (pyenv shell [ver-or-venv]) (это возможно, наиболее похоже на вашу предполагаемую команду p3.

После установки Python, который вы хотите использовать, все Python связанные вызовы перенаправляются на их соответствующей цели (например, python, pip, easy_install, ipython *, django-admin *). Не выполнять скрипты Python с какой-либо специальной командой, просто называть их, как правило (или префикс стандартных #!/usr/bin/env python притона)

* При установке в этой версии/virtualenv

Если вы используете pyenv-installer script:

curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash 

Затем добавьте пару строк, которые он скажет вам на ваш скрипт ~/.bash_profile (и либо отправьте его, либо перезапустите bash) ... вы будете работать и работать в считанные секунды. Трюк обычно устанавливает все зависимости на основе Python с варевом (sqlite, OpenSSH, zlib ...), но после этого вы являетесь золотым.

+0

Так что, в основном, устанавливайте pyenv для «активации» различных версий Python в терминале, а затем создайте виртуальную среду, если мне нужно (схожий с Virtualenv, я предполагаю?), Иначе он будет использовать пакеты по умолчанию, установленные с помощью варева? Звучит идеально для меня !! Благодаря! – user2942863

+0

Когда вы устанавливаете версии Python с pyenv (и/или создаете virtualenvs из них), они полностью пусты; вам нужно будет «установить», что вам нужно. –

+0

Блестящий, то я думаю, что я могу добавить соответствующие команды pyenv для активации различных версий Python. Спасибо за очень полный ответ. :) – user2942863

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