2013-04-15 14 views
10

Ich schreibe ein Installationsprogramm, das ein Skript aus einer vorhandenen Python-Datei zieht und es dann im Hauptprogramm von Python verwendet. Was ich wissen muss, ist import <file> aus dem aktuellen Arbeitsverzeichnis, nicht die Standardbibliothek oder das Verzeichnis, in dem der Hauptcode ist. Wie kann ich das tun?Wie kann ich eine Python-Bibliothek importieren, die sich im aktuellen Arbeitsverzeichnis befindet?

+0

scheint diese Fragen bereits beantwortet zu haben: [link Beschreibung hier eintragen] [1] [1]: http://stackoverflow.com/questions/1112618/import-python-package -from-local-directory-in-interpreter – rhinoinrepose

+0

@rhinoinrepose - Nein, das sieht aus wie jemand, der ein Problem mit dem unten beschriebenen Code hat. Scheint mir nicht wie ein Betrogener. – Nathan2055

+0

@ Nathan2055: Alle Antworten unten sind im Wesentlichen Antworten auf die Frage, die mit Rhinointrepose verbunden ist. Wenn diese Antworten für Sie funktionieren, ist Ihre Frage ein Duplikat. Wenn diese Antworten für Sie nicht funktionieren, müssen Sie weitere Informationen angeben. –

Antwort

12

So etwas sollte (ungetestet) arbeiten

import os 
import sys 
sys.path.append(os.getcwd()) 
import foo 
13
import sys 
sys.path.append('path/to/your/file') 
import your.lib 

Dadurch wird der Inhalt der Datei aus dem neu hinzugefügten Verzeichnis importieren. Das Hinzufügen neuer Verzeichnisse auf diese Weise zum Python-Pfad dauert nur solange das Skript läuft, es ist nicht dauerhaft.

4

Sie sollten das Modul sofort aus Ihrem aktuellen Arbeitsverzeichnis importieren können. Wenn nicht, können Sie Ihr aktuelles Arbeitsverzeichnis in sys.path hinzufügen:

import sys 
sys.path.insert(0, 'path_to_your_module') # or: sys.path.insert(0, os.getcwd()) 
import your_module 

Sie auch hinzufügen können, um das Verzeichnis zu PYTHONPATH Umgebungsvariable.

Verwandte Themen