Ich bin sehr frisch unter Linux, daher könnte es im Folgenden einige offensichtliche Fehltritte geben.
Ich habe gestern die letzte Ubuntu LTS-Version und auch pyCharm (Python-Editor) frisch installiert. Ich fuhr fort, den Scipy-Stack zu aktualisieren, indem ich dem Befehl auf der Website folgte:
sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
Jetzt in pyCharm stelle ich jedoch fest, dass scipy nicht aktualisiert wird. Es stellt sich heraus, dass mehrere Python-Installationen verfügbar sind:
$ sudo ls /usr/bin/python*
/usr/bin/python /usr/bin/python2-config /usr/bin/python3m
/usr/bin/python2 /usr/bin/python3 /usr/bin/python-config
/usr/bin/python2.7 /usr/bin/python3.4 /usr/bin/pythontex
/usr/bin/python2.7-config /usr/bin/python3.4m /usr/bin/pythontex3
$ which python
/usr/bin/python
Ich möchte python2.7 als meine Haupt- / Standard-Pythonreferenz verwenden und auch deren Pakete aktualisieren. Wie mache ich das?
python2.7
ist die Standardeinstellungpython
. Alle Pakete, die Sie installiert haben, sind für Python 2.7 (Python 3.X-Pakete heißenpython3-...
.scipy
die Version 0.13.3 an.Antworten:
Standardmäßig gibt es nur zwei Python-Installationen. 2.7 und 3.4 hier. Alle
python-*
Pakete sind für Python 2.7 erstellt. Allepython3-*
Pakete sind für Python 3.4 erstellt.Was Sie bei der Version von bemerken,
scipy
hat nichts mit dem allgemeinen Layout dieser Python-Installationen zu tun. Es geht darum, wie Ubuntu funktioniert . Ubuntu aktualisiert nicht jedes Paket für jedes Update, das die Entwickler veröffentlichen. Es werden nur Pakete aktualisiert, wenn es Sicherheitsupdates gibt oder Dinge, die es drastisch verbessern. Dies bietet Entwicklern Stabilität, die keine API / ABI-Änderungen auf von ihnen bereitgestellten Systemen wünschen.Ich vermute, Sie möchten Ubuntus Python-System überhaupt nicht verwenden, sondern lieber a
virtualenv
. Diese verwenden diepython
(oderpython3
) Binärdatei des Systems, aber Sie können den Rest der Umgebung (site-packages
usw.) besitzen. Dies gibt Ihnen nahezu vollständige Flexibilität bei der Installation beliebiger Versionen von beliebigenpip
Dateien, ohne dass Sie Root benötigen und ohne über vom System verwaltete Dateien zu trampeln.Normalerweise ist dies der Fall, wenn Sie ein erstellen
virtualenv
, "aktivieren" und dann Ihre Pakete installieren:Beachten Sie, dass die Namen dieser Pakete oben möglicherweise nicht korrekt sind
pip
.Beachten Sie auch, dass Sie wahrscheinlich auf einige Fehler in Bezug auf fehlende Build-Abhängigkeiten stoßen werden. Von Ubuntu heruntergeladene Pakete, die kompiliert werden müssen (die meisten dieser Berechnungspakete), wurden vorkompiliert. Sie müssen ihre Abhängigkeiten erfüllen. Ein schmutziger Weg, dies zu tun, ist
apt-get build-dep
für die Ubuntu-Versionen zu verwenden. Wenn die Abhängigkeiten zwischen der Ubuntu- und der PyPi-Version abweichen, müssen Sie möglicherweise andere Dinge installieren. In den Dokumenten zu diesem Projekt erfahren Sie, was Sie benötigen.Es ist mühsam, Build-Deps für Python 2 und 3 zu installieren, aber es ist nur Festplattenspeicher, oder? :) Sie können die Abhängigkeiten manuell erfüllen, wenn Sie möchten.
quelle