Anaconda python3'ü varsayılan olarak ayarladıktan sonra python2'ye nasıl geri dönebilirim?


18

Son zamanlarda, 15.04'üme Anaconda3-2.5.0-Linux-x86_64.sh kurdum ve bununla bitirdim!

:~$ 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)

Kurulumun son anlarında yesacele ettiği gibi bir şey girdim ve sanırım bununla bir şeyler yapmak zorunda kaldı. (Tamam, benim hatam, bunu dikkatle ele almalıydım, ama şimdi eleştiriye değil, yardıma ihtiyacım var).

Ekran görüntüsü

AFAIK bu kesinlikle diğer programları kıracak. Ben şimdi ne yapacağım?


Bence işe yarayabilir.

Bu takma adlar kullanılarak yapılabilir mi?

alias python=python2

Ama emin değilim.


Evet. kullanımalias python=python2
Mostafa Ahangarha

AFAIK bu kesinlikle diğer programları kıracak. Seni böyle düşündüren ne? Anaconda Python 3'ü varsayılan olarak ayarlarsa, bunun bir nedeni olabilir.
fkraiem

Zaten 2.x için yazılmış projelerimden birini mahvettim ve varsayılanı 3.x'e dönüştürmek özellikle birçok paket 2.x üzerinde çalıştığı için teşvik edilmiyor!
uğursuz

Bu, profesyonel bir yaklaşım benimsediğiniz ve bunun büyük bir zaman kaybı olmasını önlemek için kurulum öncesi önyükleme sürücünüzün bir klonuna sahip olduğunuzdan çok memnunuz. Lütfen aşağıdaki cevabımı inceleyin. Yükleme yönteminizin aksamaya neden olduğunu düşünüyorum. Eğer bu bana olsaydı geri dönüp tekrar denerdim. Toplam süre, uygulanabilir olup olmadığını anlamak için bir günden az olacaktır. Benim durumumda, gördüğünüz gibi, doğrulamaların sonundayım, bu yüzden ilk etapta bunun çabaya değip değmeyeceğini görmek için ilerleyebiliriz. Soruna neden olmadığından emin olmak için birkaç gün sürdü ve araştırma çalışmaları devam ediyor.
SDsolar

Python sürümünü belirtmek için, bunun tüm sisteminizde sahip olabileceği dalgalanma etkisini tam olarak bildiğinizden emin olun. Sadece oynamadığınız sürece, varsayılan which pythonshebang sonuçlarının hedeflerini değiştirirseniz gerçekten tam bir doğrulama işlemi gerektirecektir . Daha sonra kendinizi, bazı yardımcı programlarınızı yeniden yazmanız gerektiğinin köşesine boyadığınızı keşfetmenizi önlemek için biraz zaman alır. En iyisi, ellerinizde çok fazla zamanınız olmadığı sürece işleri varsayılanlarla çalışmaktır.
SDsolar

Yanıtlar:


18

Bir VM'deki kurulumdan geçtim ve aşağıdakiler oldu.

  1. Yükleyici bir kurulum yeri ister. Varsayılan değer /home/myuser/anaconda3.
  2. Sonunda size sorulacak

    Python 3.5.1 :: Continuum Analytics, Inc.
    creating default environment...
    installation finished.
    Do you wish the installer to prepend the Anaconda3 install location
    to PATH in your /home/myuser/.bashrc ? [yes|no]
    [no] >>> yes
    
    Prepending PATH=/home/myuser/anaconda3/bin to PATH in /home/myuser/.bashrc
    A backup will be made to: /home/myuser/.bashrc-anaconda3.bak

Eski davranışı geri yüklemek için ana dizininize gidin ve

mv .bashrc-anaconda3.bak .bashrc

sonra yeni bir kabuk başlatın.

Önerdiğin gibi, yapabilirsin alias python=python2, ama bunu biraz garip buluyorum. İsterim

  1. Orijinali geri yükleme .bashrc
  2. Oluştur (yoksa) ~/bin
  3. bağlantı ln -s ~/anaconda3/bin/python3 ~/bin/python3
  4. [Prepend $HOME/biniçin $PATH] (Should zaten tarafından varsayılan olarak ayarlanabilir ~/.profile)
  5. Tekrar-giriş.

Bu şekilde arama python3, Anaconda'dan başlayacaktır.


Önemli bir nokta, orijinalin /usr/bin/pythonhala orada olduğu ve hala işaret ettiği python2.7. Yolunuzda olmanın sonuçları, python->python3belirli bir komut dosyasının nasıl çağrıldığına bağlıdır.

Shebang #!/usr/bin/pythonkullanılırsa, muhtemelen Ubuntu ile birlikte gelen tüm yürütülebilir dosyalarda olduğu gibi, hiçbir şey değişmeyecektir. Öte yandan, daha iyi taşınabilirlik #!/usr/bin/env pythoniçin bazen python3.5çağrılmaya neden olacak şekilde kullanılır.


3
"4. başına ekle $ ANA $ PATH / bin" .. zaten varsayılan olarak yapılan ~/.profile- sadece bir relogin oluşturduktan sonra ihtiyaç vardır ~/bin.
16'da muru

@muru Bu doğru, teşekkürler. Cevaba eklendi.
Nefente

tamam, işe yaradı, teşekkürler! Sadece bunu farketmek için, daha önce de kurulu python 3.4.3 olduğunu (ve pip ve pip3 her ikisi de onunla ilişkili), şimdi 2.7, 3.4, 3.5 var. Şimdi pip'i 3.5'e işaret edecek şekilde yeniden kuracağım!
uğursuz

Anaconda, conda adlı kendi paket yöneticisi ile birlikte gelir. Ayrıca sanal ortamları da yönetir. Bunu pip yerine paketleri kurmak için kullanıyorum.
Nefente



3

Herhangi birisinin python varsayılan sürümünü bozduktan sonra (varsayılan olanı anaconda veya python 3 olarak değiştirerek) ve işlevsel olmayan yazılımla bitirdikten sonra 2.7'ye geri döndürmek isterse, şu bağlantıyı izleyin: Varsayılanı değiştirmek için talimatlarla bağlantı kurun python sürümü.


Bir sistem değişikliği ters giderse, geri alabileceğinizden emin olun. Planladığınız gibi gitmezlerse büyük değişikliklerin hızlı bir şekilde geri döndürülebilmesi için iyi sistem görüntüsü yedeklemelerinizin olduğundan emin olun. Profesyonel düşünün. Amatör teknikler kullanıyorsanız, profesyonel sonuçlar bekleyemezsiniz.
SDsolar

1

Bu benim için çalıştı ama Miniconda için de Anaconda için çalışmalı ama yanılıyorsam lütfen düzeltin.

İlk önce $ PATH değişkeninizi alın:

echo $PATH

Muhtemelen şöyle görünecektir (her şeyden önce miniconda yolu):

/home/your_user/miniconda3/bin:$PATH

Bu yolu ~ / .bashrc dosyanızın altına kopyalayın , ancak yolun başlangıcı yerine sonuna Miniconda ekleyin :

export PATH="$PATH:/home/your_user/miniconda3/bin"

Sistem miniconda3 / bin klasöründen önce $ PATH değişkeninin başlangıcında programları arayacaktır.

Python gibi önceki programların sürümlerini geri yüklemelidir.

Conda 4.4'ten başlayarak ~ / .bashrc'ye eklenen kodu değiştirdiler . Şimdi, aynı şeyi başarmak için, ~ / .bashrc'yi düzenleyin ve taban katmanının (taban ortamı) her terminalde aktive olmasını önlemek için aşağıdaki satırı bu şekilde yorumlayın. Yeni eklemelerin başka herhangi bir yerine dokunmanıza gerek yok. Önemin ne olduğuna emin değilim CONDA_CHANGEPS1=false, ancak şu ana kadar herhangi bir sorunla karşılaşmadım.

   # CONDA_CHANGEPS1=false conda activate base

Artık yolunda Conda klasörü görmez ederken, condakomut hala para cezası çalıştırın ve orijinal olacak python, python3ve pipenvkomutlar yanı olacak.


Upvote çünkü doğru olduğunu düşünüyorum. Bu veritabanında olması iyidir. Ancak, lütfen ilgili yazılımın sürüm numaraları konusunda biraz daha spesifik olmanızı isteyebilir miyim?
SDsolar

Teşekkür ederim ve program sürümünün önemli olduğunu düşünmüyorum, bu her zaman işe yaramalı. Ancak, yükleyicim şu sürümdeydi: Miniconda3 4.3.14. Bu yardımcı olur mu?
pedrodcb

0

İşte benim cevabım ve kendi sisteminize yaptığınız şeyin gerçek cevabı olabilir veya olmayabilir.

Ancak ben de benzer bir durumdayım ve aynı endişeye sahiptim.

Ubuntu 16.04 LTS ve Python 2.7.12 kullanıyorum ve kısa süre önce Anaconda'yı yükledim.

Şimdi, komut satırına gidip python gidip yazdığımda hala Python2 kurulumuma gidiyor.

Bu sekans tarafından onaylandı:

$which python
/usr/bin/python     <  Catch-all for max compatibility
$python
Python 2.7.12 . . etc

Benim durumumda, anaconda benim varsayılan Python2 shebangs ile herhangi bir soruna neden olmaz.

Sonuçta, soru bu.

Sisteme sorduğunuzda which python komut satırı stili Python programlarınızın ilk satırında kullanılacak doğru dize olduğuna güvenebilirsiniz.

Benim durumumda, aynı Python komut satırı komut dosyalarının tümü gayet iyi yürütülmeye devam ediyor.

Python'u 3 uyumlu modda yazma eğilimindeyim. Basılı ifadelerimin çevresinde parantez kullanmak gibi. Ancak aktif olarak Python 2 programlarının aksaklıklarla karşılaşmasına neden olabilecek büyük bir değişikliğe direniyorum. Python 3 harika görünüyor ama ihtiyaçlarım için gereksiz. Python 2 inanılmaz bir dildir.

Bilgisayar ortamım, geri dönüp en başta nerede kullandığımı anlamaya ihtiyacım olacağından, doğru bir zamana çarpmadan doğru şekilde çalışmak için ayarlanmış geçmiş süreçleri yeniden oluşturmama izin vermiyor.


Benim için alt satır: Kurulum üzerine anaconda Gelecekte kullanmak üzere , herhangi bir hız tümsekliğim veya sorunum olmadı.


Bu süreçte olduğum nokta ... Geçmişteki tüm yazılımları yeniden sertifikalandırmayı bitirdim.


Bir sonraki adım, pakette vaat edilen bazı harika şeyleri kullanmaktır.


Bu yüzden, diğerlerinin basitçe anaconda durumunuzda daha fazla olması .

Benim tecrübelerime göre bu hiç sorun değil.


FYI, güneş dinamikleri üzerinde çalışan tam bir Bilimsel iş istasyonum var. Ayrıca kısa ömürlüler ve uydu etkileşimleri hakkında. Çalışmalıdır ZORUNLU. Yani tüm bunlarda sadece bir numara değilim. Her seferinde bir şey yüklerim ve bundan önce her şeyin çalıştığını doğrularım. Sonra bir sonrakine geçiyorum. SciPy, Matplotlab, vs. (Çizim için tercihim gnuplot'tur). Bu yüzden lütfen bu cevabı akademik bir araştırma ortamında 24x7 çalışan canlı bir sistemden veri noktası olarak gönderdiğimi anlayın. Bu bir test ortamı değil - günlük üretimdir.
SDsolar

Ayrıca, yukarıdaki bir yorumda bahsettiğim gibi, PROFESYONEL DÜŞÜNÜN. Bu sistemler tüm dünyada çok üst düzey araştırmacılar tarafından kullanılmaktadır. -> Önemli sistem yükseltmelerini yapmadan önce önyükleme sürücünüzde bir klon bulunduğundan emin olun. ddKomut hızlı ve kolaydır ve SATA bağlantıları kolaydır. Sisteminizi korumaktan kaçınmak için hiçbir neden yoktur. Her adımda olabilecek tüm değişiklikleri geri alabileceğinize dikkat edin. Sert yarışlar zamanınızdan çok daha ucuzdur. (bunun doğru olduğunu düşünmüyorsanız). Hibe fonları artı bir zaman sıkışıklığı yeterli teşvik edici olmalıdır.
SDsolar
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.