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.)

conny
sumber

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 .

Olivier Verdier
sumber
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

hytdsh
sumber
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.

Yuu Yamashita
sumber
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.

Chris Olstrom
sumber
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
sahglie
sumber
0

pyenv 1.2.15 dapat membangun dan menginstal Python untuk Anda

Mungkin ini tidak mungkin di versi sebelumnya, tetapi ketika saya diuji di 1.2.15 saya perhatikan pyenv installopsi yang berfungsi:

pyenv install 3.8.0

Karena itu saya merasa masuk akal untuk memanggil pyenvpengganti RVM.

Saya telah memberikan contoh lengkap penggunaannya di: apt-get install untuk versi python yang berbeda

Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
sumber