Baru-baru ini, saya menginstal Anaconda3-2.5.0-Linux-x86_64.sh pada 15,04 saya dan berakhir dengan ini!
:~$ python --version
Python 3.5.1 :: Anaconda 2.5.0 (64-bit)
:~$ python2 --version
Python 2.7.9
:~$ python3 --version
Python 3.5.1 :: Anaconda 2.5.0 (64-bit)
Pada saat-saat terakhir pemasangan, saya memasukkan sesuatu dengan yes
tergesa-gesa, dan saya kira itu harus melakukan sesuatu dengan ini. (Ok, salahku, aku seharusnya menangani itu dengan hati-hati, tapi aku butuh bantuan sekarang, bukan kritik).
AFAIK ini pasti akan merusak program lain. Apa yang saya lakukan sekarang?
Apa yang saya pikir bisa berhasil.
Bisakah ini dilakukan dengan menggunakan alias?
alias python=python2
Tapi saya tidak yakin.
python3
python-2.7
anaconda
jahat
sumber
sumber
alias python=python2
which python
shebang. Hanya perlu sedikit waktu di depan untuk mencegah kemudian mengetahui bahwa Anda telah melukis diri Anda sendiri di sudut perlu menulis ulang beberapa utilitas Anda. Yang terbaik adalah membiarkan semuanya berjalan dengan default kecuali Anda memiliki banyak waktu.Jawaban:
Saya pergi melalui instalasi di VM, dan berikut ini terjadi.
/home/myuser/anaconda3
.Pada akhirnya Anda akan diminta
Untuk mengembalikan perilaku lama, buka direktori home Anda dan lakukan
kemudian mulai shell baru.
Seperti yang Anda sarankan, Anda bisa
alias python=python2
, tetapi saya menemukan itu agak aneh. saya akan.bashrc
~/bin
ln -s ~/anaconda3/bin/python3 ~/bin/python3
$HOME/bin
to$PATH
] (Seharusnya sudah diatur secara default oleh~/.profile
)Dengan begitu, panggilan
python3
akan dimulai dari Anaconda.Poin penting adalah, bahwa aslinya
/usr/bin/python
masih ada, dan masih menunjuk kepython2.7
. Konsekuensi memilikipython->python3
di jalan Anda tergantung pada bagaimana script tertentu dipanggil.Jika shebang
#!/usr/bin/python
digunakan, seperti itu mungkin ada di semua executable yang dikirimkan bersama Ubuntu, tidak ada yang akan berubah. Di sisi lain, untuk portabilitas yang lebih baik#!/usr/bin/env python
kadang-kadang digunakan, yang sekarang akan menyebabkanpython3.5
dipanggil.sumber
~/.profile
- hanya sebuah relogin diperlukan setelah membuat~/bin
.Jawaban yang bagus di sini: /programming/24405561/how-to-install-2-anacondas-python-2-7-and-3-4-on-mac-os-10-9
lalu, untuk beralih:
sumber
Jika ada orang yang ingin mengubah versi standar python mereka kembali ke 2.7 setelah mengacaukannya (dengan mengubah standarnya menjadi: anaconda atau python 3) dan berakhir dengan perangkat lunak yang tidak berfungsi, cukup ikuti tautan ini: Tautan dengan instruksi untuk mengubah default versi python.
sumber
Ini bekerja untuk saya tetapi untuk Miniconda, itu juga harus bekerja untuk Anaconda, tetapi tolong perbaiki saya jika saya salah.
Pertama, dapatkan variabel $ PATH Anda :
Mungkin akan terlihat seperti ini (jalur miniconda sebelum yang lainnya):
Salin path itu ke bagian bawah file ~ / .bashrc Anda , tetapi dengan Miniconda di bagian akhir daripada di awal path seperti:
Sistem akan mencari program pada awal variabel $ PATH sebelum folder miniconda3 / bin.
Seharusnya mengembalikan versi untuk program sebelumnya yang Anda miliki seperti python.
Dimulai pada Conda 4.4, mereka mengubah kode yang ditambahkan ke ~ / .bashrc. Sekarang, untuk mencapai hal yang sama, edit ~ / .bashrc dan komentari baris di bawah seperti ini untuk mencegah lapisan dasar (lingkungan dasar) dari mengaktifkan di setiap terminal. Tidak perlu menyentuh bagian lain dari penambahan baru. Saya tidak yakin apa yang penting
CONDA_CHANGEPS1=false
, tetapi sejauh ini tidak mengalami masalah.Dan sementara Anda tidak akan melihat folder conda di jalan lagi, yang
conda
perintah tetap akan berjalan baik-baik saja, dan asli Andapython
,python3
danpipenv
perintah akan juga.sumber
Inilah jawaban saya, dan mungkin atau mungkin bukan jawaban spesifik yang sebenarnya untuk apa yang telah Anda lakukan pada sistem Anda sendiri.
Namun, saya berada dalam situasi yang sama dan memiliki keprihatinan yang sama.
Saya menggunakan Ubuntu 16.04 LTS dan Python 2.7.12, dan baru-baru ini menginstal Anaconda.
Jadi sekarang, ketika saya pergi ke baris perintah dan ketik
python
itu masih pergi ke instalasi Python2 saya.Dikonfirmasi oleh sequesnce ini:
Jadi dalam kasus saya,
anaconda
TIDAK menyebabkan masalah dengan default Python2 shebangs saya.Pada akhirnya, itulah pertanyaannya.
Ketika Anda bertanya pada sistem,
which python
Anda dapat mempercayai bahwa itu adalah string yang benar untuk digunakan di baris pertama dari program Python gaya command-line Anda.Dalam situasi saya, semua file skrip baris perintah Python saya yang sama terus mengeksekusi dengan baik.
Saya cenderung menulis Python dalam mode 3-kompatibel. Seperti menggunakan tanda kurung di sekitar pernyataan cetak saya. Tapi saya secara aktif menolak perubahan besar pada sistem yang mungkin menyebabkan program Python 2 yang berjuang keras untuk menghadapi gangguan. Python 3 terdengar hebat tetapi tidak perlu untuk kebutuhan saya. Python 2 adalah bahasa yang menakjubkan.
Lingkungan komputasi saya tidak memungkinkan saya untuk kembali dan merekayasa ulang proses masa lalu yang telah disetel agar berfungsi dengan benar tanpa mengambil waktu yang lama karena saya harus kembali dan mencari tahu di mana saya menggunakannya di tempat pertama.
Intinya bagi saya: Setelah menginstal
anaconda
untuk penggunaan di masa depan, saya tidak memiliki masalah kecepatan atau masalah.Itulah titik di mana saya sedang dalam proses ... Baru saja menyelesaikan sertifikasi ulang semua perangkat lunak masa lalu.
Langkah selanjutnya adalah benar-benar menggunakan beberapa hal keren yang dijanjikan dalam paket.
Jadi, saya harus curiga bahwa hanya menginstal lain
anaconda
harus ada lebih untuk situasi Anda.Dari pengalaman saya itu sama sekali bukan masalah.
sumber
dd
perintah cepat dan mudah, dan koneksi SATA mudah. Tidak ada alasan untuk menghindari melindungi sistem Anda. Berhati-hatilah bahwa pada setiap langkah Anda dapat mengembalikan semua perubahan yang mungkin terjadi. Rive yang keras jauh lebih murah daripada waktu Anda. (kecuali Anda tidak berpikir itu benar). Hibah dana plus waktu krisis harus cukup insentif.