Saya memiliki mesin dengan Python 2.6 diinstal sebagai Python default. Kemudian, saya menginstal Python 2.7, dan secara manual membuat / usr / bin / python sebagai symlink ke instalasi baru.
Kemudian, saya mengalami masalah dengan perintah-tidak-ditemukan . Saya mencoba menginstalnya kembali:
sudo apt-get remove command-not-found
dan saya mendapatkan kesalahan ini:
/usr/bin/python does not match the
python default version. It must be
reset to point to python2.6
Tapi saya benar-benar ingin Python 2.7 menjadi default. Bagaimana cara memperbaiki kekacauan ini?
sumber
Tidak lebih dari menginstal ulang
python
. Ini akan membatalkan perubahan Anda (symlink).Mengapa Anda menginginkannya sebagai default? Setiap kali Anda membutuhkannya, cukup gunakan
python2.7
atau sertakan#!/usr/bin/python2.7
(shebang) di awal skrip (yang dapat dieksekusi) Anda.Jika Anda bersikeras memiliki standar
python2.7
sistem, gunakan Ubuntu yang lebih baru (saat ini Ubuntu 11,04, dengan nama sandi Natty). Menggunakan versi itu sebagai default.Di masa depan, hindari melakukan intervensi manual seperti apa yang Anda lakukan dengan hal symlink. Hal ini terutama berlaku untuk file yang dikelola distro, dan yang paling khusus untuk binatang yang kompleks seperti instalasi Python.
sumber
python
dari bash, saya ingin mendapatkan python baru. Apakah ada cara yang lebih baik untuk melakukan ini daripada yang saya lakukan?python
paket di Ubuntu menentukan versi sistem. Sekarang, adalah mungkin untuk menyesuaikan instalasi Anda sehingga python 2.7 adalah default dengan membuat paket python Anda sendiri, dll, tetapi jika demikian, Anda akan secara efektif menjadi pengelola instalasi Python Anda alih-alih Ubuntu, dan Anda harus belajar bagaimana Python dikelola di Debian / Ubuntu. Ingatlah bahwa paket Python lain dalam sistem dikonfigurasikan untuk bekerja dengan 2.6 sebagai default, jadi, terlepas dari hal lain, kerusakan dapat terjadi./usr/bin
, itu disediakan untuk distribusi Anda. Sebagai gantinya, buat/usr/local/bin/python
tautan simbolis kepython2.7
. Kemudian skrip menggunakan#!/usr/bin/env python
(idiom yang disarankan), serta mengetikpython
di baris perintah, akan menjalankan Python 2.7. Script dari distribusi yang ingin Python dari distribusi dapat terus memanggil#!/usr/bin/python
.Penafian: saya baru saja memposting jawaban yang sama untuk stack overflow:
/programming/2812520/pip-dealing-with-multiple-python-versions/50319252
Inilah pendapat saya tentang masalah ini. Bekerja untuk Python3. Fitur utamanya adalah:
Langkah-langkahnya adalah sebagai berikut:
Jika Anda memiliki beberapa versi python tambahan yang dipasang dengan cara lain, singkirkan, misalnya, hapus $ HOME / .local / lib / python3.x , dll. (Juga yang diinstal secara global). Jangan sentuh versi python3 default sistem Anda.
Sumber unduhan untuk versi python yang berbeda di bawah struktur direktori berikut:
Di setiap direktori "Python-3.xy /", lakukan hal berikut ( JANGAN gunakan "sudo" di salah satu langkah!):
Di "python_versions /" buat file seperti ini:
Sekarang, kapan saja Anda ingin memilih python3.x, lakukan
untuk memasuki virtualenv
Saat berada di virtualenv, instal paket python favorit Anda dengan
Untuk keluar dari versi virtualenv dan python cukup ketik "nonaktifkan"
sumber
Kami banyak menaruh distribusi python di Mac dan Ubuntu dan inilah rekomendasi saya.
Biarkan sistem python tanpa gangguan: jangan pernah gunakan itu.
Jika Anda hanya memerlukan satu distribusi python primer, unduh dan instal Canopy dari enthought. Saat menginstal, pilih "set as my python system", dan kemudian Anda dapat menginstal paket dari manajer paket GUI Canopy.
pip
, perintah manajer paket PyPi yang memungkinkan Anda menginstal paket (mis.pip install python-twitter
)sumber
Pyenv
https://github.com/pyenv/pyenv
Pyenv memungkinkan Anda untuk mengelola beberapa versi Python tanpa sudo untuk satu pengguna, seperti Node.js NVM dan Ruby RVM .
Instal Pyenv:
Kemudian tambahkan ke
.bashrc
:Temukan versi Python untuk diinstal:
Instal versi python yang Anda inginkan:
Daftar versi Python yang tersedia:
Kami sekarang memiliki:
Pilih versi python yang berbeda:
Kedua output:
Kita sekarang dapat melanjutkan untuk menginstal dan menggunakan paket-paket secara normal:
Kami dapat mengonfirmasi bahwa semuanya terpasang secara lokal di lingkungan kami yang bersih dengan:
Per penggunaan proyek
Di bagian sebelumnya, kami melihat cara menggunakan pyenv di pengaturan global.
Namun, apa yang biasanya Anda inginkan adalah mengatur python dan versi paket tertentu pada basis per proyek. Ini adalah cara untuk melakukannya.
Pertama instal versi Python yang Anda inginkan seperti sebelumnya.
Kemudian, dari dalam direktori proyek Anda, atur versi python yang diinginkan dengan:
yang membuat file yang
.python-version
berisi string versi.Dan sekarang mari kita instal paket secara lokal hanya untuk proyek kami: TODO: sepertinya tidak ada cara yang bagus: /programming/30407446/pyenv-choose-virtualenv-directory/59267972#59267972
Sekarang, ketika seseorang ingin menggunakan proyek Anda, mereka akan melakukan:
yang mengatur versi Python ke yang benar.
Utas terkait:
Diuji pada Ubuntu 18.04, pyenv 1.2.15.
sumber