2010-10-06 16 views
5

Chcę uruchomić wiele wersji Pythona w moim polu. Czy istnieje coś takiego jak menedżer wersji w Pythonie, w którym mogę przełączać się między wieloma wersjami Pythona bez konieczności wywoływania pełnej ścieżki pliku binarnego Pythona? Próbowałem virtualenv i wydaje się, że obejmuje tylko problemy z uruchomieniem wielu wersji bibliotek Pythona.Uruchamianie wielu wersji python

Dzięki za pomoc.

+1

Zwykle jest to obsługiwane przez powłokę systemu operacyjnego. Jakiego systemu operacyjnego i/lub powłoki używasz? –

+0

Cześć Daniel, używam Ubuntu i bash. –

Odpowiedz

6

Używam virtualenv do śledzenia różnych środowisk, których potrzebuję do moich projektów. Mogę ustawić django 1.0 w jednym środowisku lub django 1.2 na inny. Możesz go użyć do ustawienia wersji pythona, która ma być używana w określonym środowisku. Oto link do strony, która zawiera świetne przykłady i samouczki dotyczące uruchamiania: http://pypi.python.org/pypi/virtualenv

+0

Podoba mi się to podejście. Nie myślałem o tym. Spróbuję tego dziś wieczorem. –

8

Podczas wywoływania Pythona z bashu można wypróbować alias.

[email protected]:~$ alias python1234='/usr/bin/python2.5' 
[email protected]:~$ python1234 
Python 2.5.4 (r254:67916, Jan 20 2010, 21:44:03) 
[GCC 4.3.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 

Powiedzmy masz skrypt o nazwie script.py o następującej treści:

import sys 
print sys.version 

więc uruchomienie skryptu z innej wersji Pythona wygląda:

[email protected]:~$ python script.py 
2.6.2 (release26-maint, Apr 19 2009, 01:56:41) 
[GCC 4.3.3] 
[email protected]:~$ python1234 script.py 
2.5.4 (r254:67916, Jan 20 2010, 21:44:03) 
[GCC 4.3.3] 
+0

Może to mieć sens w przypadku samokompilowanych pytonów w dziwnych miejscach, takich jak /opt/my-python2.7/bin/python, ale nie widzę sensu dla dostarczonego przez Ubuntu python2.5, do którego można już zadzwonić krótka nazwa: "python2.5". –

+0

Powyższy przypadek samokompilowanych pytonów w /opt/python2.7 był dokładnie tym, czego potrzebowałem, więc jest to bardzo pomocne. – interpolack

4

Ty nie musisz używać pełnej ścieżki.

[email protected]:$ python2.5 
Python 2.5.5 (r255:77872, Sep 14 2010, 17:16:34) 
[GCC 4.4.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 

[email protected]:$ python2.6 
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56) 
[GCC 4.4.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 

Czy to odpowiada na twoje pytanie?

+2

Ponadto, jeśli chcesz tylko wpisać 'python', aby uruchomić swoją wybraną wersję, wszystko to,' python' jest, jest dowiązaniem symbolicznym do 'python2.5',' python2.6', itp., więc możesz utworzyć link do tych plików binarnych w '/ usr/bin'. – birryree