Mit dieser Funktion können Sie mehrere Python-Umgebungen auf demselben Computer (OS) erstellen.
Das ist überwältigend schneller als das Erstellen von Grund auf neu, und Sie können dies mit nur wenigen Befehlen tun. Ich war überrascht, als ich es zum ersten Mal berührte, aber es ist eine sehr entwicklungsfreundliche Funktion. Können Sie Docker verwenden? </ s>
http://cloverrose.hateblo.jp/entry/2012/10/01/235126 http://qiita.com/H-A-L/items/5d5a2ef73be8d140bdf3 http://qiita.com/Kodaira_/items/feadfef9add468e3a85b
Normalerweise verwende ich Python mit Anaconda unter Windows und auch virtualenv über den Befehl conda, aber es gibt keine Kultur, unter Windows Sudo zu benötigen. Daher habe ich völlig vergessen, dass es etwas gab, das Sudo erforderte.
Zu dieser Zeit habe ich ein Server-Backend-Programm für Python namens Bottle ausprobiert.
Bis zur Flascheninstallation
$ virtualenv --no-site-packages bottle_test
$ cd bottle_test
$ pip install bottle
Dann habe ich das Beispielprogramm in start_server.py kopiert und versucht, es auszuführen.
Prüfung
$ python start_server.py
...(Unterlassung)...
socket.error: [Errno 13] Permission denied
Oh, es ist Sudo. Ich habe vergessen.
Laufen Sie mit Sudo
$ sudo python start_server.py
...(Unterlassung)...
ImportError: No module named bottle
Das? Hast du vergessen, die Flasche zu stellen? Ist das dumm
Versionsbestätigung
$ pip freeze
appdirs==1.4.3
bottle=0.12.13
packaging=16.8
pyparsing==2.2.0
six=1.10.0
Ah, das? Es ist installiert ... warum erhalte ich eine Fehlermeldung? ,,,Ah!
sudo wechselt vorübergehend Ihr Home-Verzeichnis in / root, und Sie haben in / root keine virtuelle Umgebung erstellt. damit. Was ich gerade erstellt habe, ist die eigene virtuelle Umgebung des angemeldeten Benutzers, nicht für root. Es war so.
Nachdem ich nachgeforscht hatte, fand ich drei Möglichkeiten, damit umzugehen.
Nun, ich kann 3 nicht für das verwenden, was ich diesmal versuche.
Dies hängt stark von der Ordnerstruktur ab, als die virtuelle Umgebung erstellt wurde. Angenommen, Sie erstellen sie beispielsweise wie folgt.
Erstellen einer virtuellen Umgebung
~ $ mkdir test
~ $ cd test
~/test $ virtualenv --no-site-packages testenv
~/test $ cd testenv
~/test/testenv $ source bin/activate
In diesem Fall lautet der von der virtuellen Umgebung testv verwendete Python-Pfad "~ / test / testenv / bin / python".
Sie können dies direkt mit sudo aufrufen, um Python mit der virtuellen Umgebung testv zu starten.
Ausführungsmethode, die wie erwartet funktioniert
(testenv) $ sudo ~/test/testenv/bin/python start_server.py
Ich habe diese Methode nicht ausprobiert. Die Idee ist einfach, es scheint zu versuchen, eine virtuelle Umgebung zu erstellen, die verwendet werden kann, wenn sudo fertig ist.
Erstellen Sie virtualenv mit sudo
$ sudo virtualenv venv
In diesem Fall scheint die Paketinstallation wie folgt zu sein.
$ sudo venv/bin/pip $PACKAGE
$ sudo sh -c ". venv/bin/activate; pip install $PACKAGE"
https://askubuntu.com/questions/234758/how-to-use-a-python-virtualenv-with-sudo http://stackoverflow.com/questions/2658902/in-my-virtualenv-i-need-to-use-sudo-for-all-commands http://emilkirkegaard.dk/en/?p=5770
Wir haben die Fallstricke von Python Virtualenv geteilt. Ich hoffe, es wird eine Referenz für Ihr Entwicklungsleben sein!
Eh, benutzt du nicht Python? Ist es Javascript main? Ich bin normalerweise C # main! </ s>
Dann!
Recommended Posts