2016-09-08 4 views
-1

Angenommen, ich habe normale System Python 2.7-Pakete in System-StandorteMultiple Python virtuelle env

dann mache ich

virtualenv env1 

ich installieren alle Anforderungen dort

Dann deaktivieren ich das und tun

export PYTHONPATH=$PYTHONPATH:/path/to/env1 

Dann mache ich virtualenv env2 und dann installieren Sie neue Anforderungen th ere

dann mache ich das wieder

export PYTHONPATH=$PYTHONPATH:/path/to/env2

So sind meine Fragen

Alle packagaes, die in ENV 1 installiert sind, wird nicht in enV2 oder enV2 installiert wird neue packagaes installieren.

Ich habe ein Problem, wenn ich pip install packagae1 während Env2 aktiviert ist. es sagt Anforderung bereits erfüllt

Dann öffne ich Python-Shell und importieren mymodule. Es sagt Modul nicht gefunden. Ich kann sehen, dass das Modul dort in env1 war.

Ich musste dieses Modul von env1 entfernen und dann auf env2 installieren und dann funktioniert es.

ich whay wissen wollen, ist, dass

Antwort

1

Haben Sie enV2 vor der Installation von Modul aktiviert?

Quelle bin/

aktivieren Wenn Sie ein Modul aus virtualenv deinstallieren möchten, verwenden Sie dann

pip uninstall module_name

0

Wahrscheinlich haben Sie nicht die virtuelle aktiviert Umgebung (wir nennen es als venv) und installiert das Paketsystem weit.

Ich schlage vor, dass Sie zuerst versuchen, das venv zu aktivieren und dann mit den Installationen in jedem der Venv fortzufahren.

können Sie aktivieren Venv mit folgenden Code:

cd ~/venv/ 
source /bin/activate 
1

Zum einen nicht PYTHONPATH manuell ändern. Schritte sollten so ähnlich aussehen:

[[email protected] src]$ source /usr/local/env1/bin/activate 
(env1)[[email protected] src]$ # pip install blah 
(env1)[[email protected] src]$ source /usr/local/env2/bin/activate 
(env2)[[email protected] src]$ #pip install blah 
(env2)[[email protected] src]$ 
+0

whats Problem mit dem Hinzufügen PYTHONPATH manuell. Der Grund, warum ich es tun möchte, weil einige Pakete ich manuell installieren muss, so habe ich ein virtuelles Env in Snapshot gespeichert und in Python-Pfad, so dass andere nicht installieren müssen diejenigen, die nicht via Pip verfügbar sind. liege ich falsch in diesem Denken – Karl

Verwandte Themen