2017-01-17 3 views
0

Vor kurzem hatte ich ein Problem mit einem Python-Import und daher diese Frage gestellt: Cant seem to import specific module in PythonFalscher Modulpfad in Python

Basierend auf Eingang Ich habe ich einige graben tat und sah folgend:

Wenn ich Cygwin öffnen und Eingabe python --version, erhalte ich diese

[email protected] ~ 
$ python --version 
Python 2.7.12 :: Anaconda 4.2.0 (64-bit) 

und wenn ich python öffnen mit myCharm und geben diese:

import sys 
print('\n'.join(sys.path)) 

ich:

C:\Users\Marc\Anaconda3\python.exe C:/Users/Marc/PycharmProjects/clustering/testing.py 
C:\Users\Marc\PycharmProjects\clustering 
C:\Users\Marc\PycharmProjects\clustering 
C:\Users\Marc\Anaconda3\python35.zip 
C:\Users\Marc\Anaconda3\DLLs 
C:\Users\Marc\Anaconda3\lib 
C:\Users\Marc\Anaconda3 
C:\Users\Marc\Anaconda3\lib\site-packages 
C:\Users\Marc\Anaconda3\lib\site-packages\Sphinx-1.4.6-py3.5.egg 
C:\Users\Marc\Anaconda3\lib\site-packages\win32 
C:\Users\Marc\Anaconda3\lib\site-packages\win32\lib 
C:\Users\Marc\Anaconda3\lib\site-packages\Pythonwin 
C:\Users\Marc\Anaconda3\lib\site-packages\setuptools-27.2.0-py3.5.egg 

So nehme an, das das Problem hervorhebt. Könnte mir jemand sagen, was hier klug ist? Ändern Sie den Pfad in meinem Terminal der Änderung der Pfad in Python

+0

Was möchten Sie sehen, was erwartest du? Ist das Problem, dass Cygwin Python 2.7 verwendet und Anaconda Python 3.5 verwendet? – User

Antwort

0

Wenn Sie eine envirnment Variable PYTHONPATH zu einem Doppelpunkt getrennt (Windows: Semikolon getrennt) genannt Liste von Verzeichnissen, die jeweils von ihnen werden dem Dolmetscher hinzugefügt werden sys.path . Dies ist die empfohlene Methode, Module verfügbar zu machen.

Nehmen wir zum Beispiel an, Sie hätten Python-Module im Verzeichnis hinzugefügt. Bevor Sie Ihr Python-Programm ausführen würden Sie den Befehl

SET PYTHONPATH=C:\Documents and Settings\frits\private 

kein Semikolon ausführen in diesem Fall erforderlich ist, weil es nur ein Verzeichnis ist.

Wenn Sie Python ausführen, finden Sie, dass Ihr sys.path einen anderen Eintrag hat, der dem Verzeichnis C:\Documents and Settings\frits\private entspricht.

Um Konflikte zwischen den Anforderungen verschiedener Projekte zu vermeiden (z. B. wenn Sie zwei Programme ausführen möchten, die eine andere Version des gleichen Drittanbietermoduls erfordern), sollten Sie die Verwendung virtueller Umgebungen untersuchen.

+0

danke, aber ich verstehe nicht, was du meinst. Könnten Sie bitte etwas ausarbeiten? –

+0

Ich hoffe, die Bearbeitung macht es klarer – holdenweb