2017-12-26 21 views
0

Ich MacOS Sierra 10.12.6Running pip3 auf MacOS Sierra (Python-Neuling) - brauche ich einen virtualenv?

standardmäßig das System läuft kam mit Python 2.7.10

I Python 3.6.3 installiert (mit IDLE), so kann ich Python lernen (3). Ich verstehe, dass dies normal ist, da MacOS sich für einige Programme auf Python 2.x verlassen kann. Wie auch immer, Python3 läuft einwandfrei, wenn ich python3 von der Kommandozeile/Terminal aus laufe, oder wenn ich IDLE benutze (standardmäßig Python 3).

Jetzt möchte ich einige Bibliotheken wie Beautiful Soup installieren.

Und ich glaube, ich kann es wie folgt installieren:

pip3 install beautifulsoup4 

, die es automatisch installieren soll. Ich lese jedoch, dass es empfohlen wird, virtualenv auf Mac zu verwenden, BEVOR ich den obigen Befehl ausführen. Als Neuling möchte ich nichts auf meinem PC vermasseln, also kann mir jemand zeigen, wie ich das richtig machen kann?

Zum Beispiel habe ich diesen Link folgen: http://sourabhbajaj.com/mac-setup/Python/virtualenv.html

Aber ich will einfach nur hier schreiben, um sicherzustellen, dass ich nach dem richtigen Artikel/Befehle, bevor ich es tun. Sei einfach super vorsichtig!

Kann ich auch einen Ordner mit meiner "virtuellen Umgebung" erstellen und dann Unterordner darin für jedes Projekt hinzufügen? Das heißt, ich muss das nicht jedes Mal machen, ich habe eine virtuelle Umgebung und jedes Projekt, das ich mache, ist nur ein Unterordner innerhalb dieses Bereichs, sodass ich alle Bibliotheken, die ich installiert habe, verwenden kann. Ich versuche nur, das Konzept zu verstehen.

Danke!

+0

Nur eine Notiz als Antwort auf eine Antwort unten, auch nicht versuchen, unhöflich zu sein, aber virtuelle Umgebungen sind fast nie ein Overkill. Die Gründe sind zu lang, um sie hier aufzulisten, aber fast sofort, wenn Sie Python 3.x in einer Maschine verwenden wollen, auf der python 3. (x-1) installiert ist, werden viele Dinge besser und einfacher funktionieren, wenn Sie die Isolation beibehalten . Virtuelle Umgebungen sind einfach einzurichten, wenn Sie es ein paar Mal tun, und es lohnt sich - machen Sie sich schon früh daran gewöhnt. Auch wenn Ihre Frage beantwortet wurde, können Sie sie als solche markieren? – SteveJ

+0

Danke für Ihren Kommentar. Mit Pycharm, wäre es also möglich zu sagen, nehmen Sie Ihre Pycharm-Projekte von einer Maschine zu einer anderen, die eine andere Version von Python hat, und versuchen, sie auszuführen? Ich nehme an, dass das Vevv von Pycharm beibehalten wird, ich bin mir nicht sicher über die aktuelle Version von PYCHARM, aber im Grunde führt das VENV alle Libraries weiter, die Sie für dieses VIV importiert haben, ohne sie installieren zu müssen. Ist das korrekt? Ich liebe Pycharm übrigens, danke :) – rishijd

+1

Mein Vorschlag für Pycharm war unter anderem, dass es die virtuelle Maschine für Sie erstellt hat. Allerdings würden Sie Ihre virtuellen Umgebungen normalerweise nicht freigeben, da Ihr Aktivierungsskript die PATH-Variable auf den Speicherort des vents setzt - was sich möglicherweise unterscheidet. Um Projekte zu teilen, schau dir "requirements.txt" und setup.py an. – SteveJ

Antwort

1

Sorry, um Verwirrung hinzuzufügen .. das kann ein hartes Thema für jemanden sein, der beginnt.

Die offiziellen Dokumente empfehlen venv, die ähnlich ist, aber etwas anders als virtualenv.

Ich würde dringend pycharm empfehlen. Es wird dein Venv für dich als Teil deines Projekts erstellen, was dir hilfreich sein könnte.

[Bearbeiten: Einige andere virtuelle Umgebung Funktionen von pycharm, die Ihnen helfen].

  • Wenn Sie eine Importanweisung für ein Paket eingeben, das nicht installiert ist, wird es angeboten, es für Sie zu installieren.
  • Eingabe Alt-F12 bringt Sie eine Konsole mit Ihrer virtuellen Umgebung aktiv
  • Es synchronisiert Ihre Anforderungen.txt-Dokument für Sie
  • Es verwaltet Ihren virtuellen Umgebungspfad für Sie (solange Sie innerhalb von pycharm laufen), was Importprobleme vermeidet, die viele Neulinge in virtuellen Umgebungen haben.
  • Ich bin nicht mit pycharm verbunden, btw - ich denke nur, es ist ein großartiges Werkzeug für Python-Entwickler, vor allem für Newcomer, und seine Behandlung von virtuellen Umgebungen ist besonders hilfreich.

    +0

    Danke dafür! Bietet die kostenlose Version für Pycharm auch dein Vent für dich? Ich werde es ausprobieren. – rishijd

    +0

    Ich bin zu 95% sicher, dass es das tut, aber ich habe die kostenlose Version seit einiger Zeit nicht mehr benutzt, also kann ich nicht mit vollem Vertrauen sagen. Außerdem macht es einige nette Dinge für Sie in Bezug auf virtuelle Umgebungen (Ich werde das zu meiner Antwort hinzufügen). – SteveJ

    +0

    Vielen Dank SteveJ. Sehr geschätzt! Würden Sie auch wissen, ob dies möglicherweise mit NodeJS npm kollidieren könnte? Oder könnte ich stattdessen npm für meine Bedürfnisse verwenden? (wie ich es bereits auf meinem Mac für ein anderes Projekt habe) Sorry, immer noch einen Überblick über Paketmanager. Ich fange nicht mit dem Programmieren an, aber sicherlich neu/zu diesem Thema. – rishijd

    1

    Sie erstellen ein virtualenv für jedes Projekt als eine Möglichkeit, die spezifischen Abhängigkeiten zu verfolgen, um sie minimal zu halten, was es dann einfacher macht, Projekte mit anderen Personen zu teilen.

    Aber das ist nicht etwas, was Sie brauchen. Durch die Installation von Paketen in Ihrer realen Umgebung entsteht auch kein Schaden. So können Sie sicher laufen

    +0

    Danke! Zum Zweck des Lernens fühle ich, dass ich einen virtualenv versuchen sollte. Würdest du den Artikel, den ich oben eingefügt habe, raten, da ich dieses/Python virtualenv zum ersten Mal probiere? – rishijd

    +0

    Nicht versuchen, unhöflich zu sein, aber wenn Ihr Zweck ist zu lernen, warum verbringen Sie zwei Tage damit, herauszufinden, ob Sie * einen * Artikel * lesen sollten? Wenn Sie nicht mehrere Enterprise-Projekte auf Ihrem Computer ausführen, bezweifle ich, dass Sie Konflikte mit verschiedenen Paketversionen haben. Also ist Virtualenv völliger Overkill. Ich würde dir raten, zu lernen, python/pip ohne es zuerst zu benutzen, und dann das nächste Mal wirst du ein klareres Verständnis davon haben, was virtualenv ist und was nur reguläre Python-Paketverwaltung ist. Lerne beim machen. –

    +0

    Danke für diesen Harald. Stimme völlig zu, ich stelle nur meine Frage früh, da ich dies am Freitag planen werde. Und so, ich will nur sicher sein von meinem Weg, bevor ich es auf meiner Maschine versuche - wieder, nur sicher zu sein, bevor ich Befehle am Terminal ausführen :) Danke für all Ihre Hilfe! – rishijd