Apakah ada python yang setara dengan 'rvm' Ruby?


145

T: Apakah kita memiliki sesuatu yang setara secara fungsional dalam Python dengan manajer versi Ruby 'rvm' ?


( RVM memungkinkan Anda dengan mudah beralih sepenuhnya antara versi yang berbeda dari interpreter ruby dan set permata yang berbeda (modul). Segala sesuatu yang berkaitan dengan pengunduhan build-install-switch dari interpreter (-s) dan permata dapat diatasi dengan menjalankan rvm. semua berjalan di bawah akun pengguna reguler Anda.)

Jawaban:


94

Ya, itu virtualenv bersama dengan virtualenvwrapper .

pembaruan: Anda dapat menginstal keduanya sekaligus dengan virtualenv burrito .

Perbarui : jawaban yang benar sekarang mungkin pyenv .

Untuk komputasi ilmiah, alat yang sesuai adalah anaconda .


2
Saya bingung. Di mana Anda dapat menginstal berbagai versi python? Tampaknya hanya menggunakan versi sistem python.
docwhat

4
Tetapi apakah ada cara untuk mengikat instalasi Python tertentu (katakanlah, 2.7) dengan telur tertentu dalam satu proyek, dan dengan telur tertentu lainnya di yang lain? RVM mengelola semua hal ini dengan mulus, dan sudomerupakan sesuatu dari masa lalu.
Kyle Wild

4
Virtualenv memungkinkan untuk menyulap antara versi Python, dan antara set telur yang berbeda; tetapi itu tidak akan berurusan dengan kompilasi + instalasi Python itu sendiri. RVM melakukan hal itu untuk Ruby. Jika Anda ingin membuat versi tertentu dari Python karena Anda tidak dapat menginstalnya dari paket karena suatu alasan, maka Anda ingin memeriksa pythonbrew sebagai gantinya (hanya jawaban lain tepat di bawah).
jpetazzo

3
Saya tidak melihat bagaimana ini mendukung beberapa versi python.
Dogweather

3
RVM memperhatikan kompilasi interpreter Ruby. Ini juga memungkinkan mengunduh yang sudah dikompilasi, jika tersedia.
Andrey Mikhaylov - lolmaus

85

Pythonbrew tidak lagi dalam pengembangan. Mantan pengelola menyarankan untuk menggunakan "PyEnv" sebagai gantinya (lihat di bawah) ".

pythonbrew telah datang! http://github.com/utahta/pythonbrew

pyenv: https://github.com/yyuu/pyenv


Menarik, mungkin patut dicoba. Saya melihat bahwa pemanggilan perintahnya sangat mirip dengan rvm...
conny

1
Sebagai seseorang yang cukup mahir dalam rvm, pythonbrew sangat mudah untuk membiasakan diri. Terima kasih atas tipnya!
elmt

1
Terima kasih banyak. Saya percaya ini adalah jawaban nyata mulai sekarang.
sayth

Harus menambahkan baik untuk melihat pypy dan jython ditambahkan ke daftar ular sanca yang dikenal.
katakanlah

Tidak banyak lalu lintas lagi. Apakah ini masih layak dilihat?
Debilski

51

Saya membuat pyenv yang merupakan garpu rbenv Ruby dan dimodifikasi untuk Python. Seperti pythonz, pyenv juga mendukung Stackless, PyPy, dan Jython.


6

Menindaklanjuti jawaban hytdsh (hampir dua tahun kemudian) ...

pythonz garpu pythonbrew yang menambahkan dukungan untuk Stackless, PyPy, dan Jython.

Jika Anda suka bagaimana rvm menangani penerjemah yang berbeda, mungkin perlu melihat pythonz. Jika Anda benar-benar bekerja dengan CPython, perbedaannya tidak terlalu signifikan.


5

Secara opsional, jika Anda menggunakan Macports, Anda dapat menggunakan python_select. Instal python_selectdengan:

$ sudo port install python_select

Dengan asumsi python 2.6 dan 2.5 telah diinstal lebah melalui Macports Anda dapat beralih ular seperti:

$ sudo python_select python25
=> Selecting version "python25" for python
$ python --version
=> 2.5.5
$ sudo python_select python26
=> Selecting version "python26" for python
$ python --version
=> 2.6.6

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.