Wie importiere ich Module in Pycharm?


200

In PyCharm habe ich die Python-Umgebung hinzugefügt /usr/bin/python. Jedoch,

from gnuradio import gr

schlägt als undefinierte Referenz fehl . Es funktioniert jedoch gut im Python-Interpreter über die Befehlszeile.

GNURadio funktioniert gut mit Python außerhalb von Pycharm. Alles ist so installiert und konfiguriert, wie ich es möchte.

Gnuradio befindet sich in /usr/local/lib/python2.7/site-packages/gnuradio

Ebenfalls:

PYTHONPATH = / usr / local / lib / python2.7 / site-packages: /usr/local/lib/python2.7/site-packages/gnuradio


1
Ok, wie hast du gnuradio installiert?
LotusUNSW

1
Sie können gnuradio aus den verfügbaren Repositorys in PyCharm installieren. PyCharm -> Einstellungen (Einstellungen unter Windows) -> Projekt -> Projektinterpreter -> Klicken Sie auf den Abschnitt '+', um Pakete anzumelden, und suchen Sie nach dem gewünschten Paket. Möglicherweise müssen Sie Repositorys hinzufügen, wenn das erforderliche Paket in bereits hinzugefügten Repositorys nicht verfügbar ist. HTH.
avp

Antworten:


228

Hinzufügen eines Pfads

Gehen Sie zu Datei → Einstellungen → Projekteinstellungen → Projektinterpreter.

Drücken Sie dann auf Interpreter konfigurieren und navigieren Sie zur Registerkarte "Pfade".

Registerkarte "Pycharmpfad"

Drücken Sie die Taste + im Bereich Pfade. Sie können den Pfad zu dem Modul festlegen, das erkannt werden soll.

Aber ich kenne den Weg nicht ..

Öffnen Sie den Python-Interpreter, in den Sie das Modul importieren können.

>> import gnuradio
>> gnuradio.__file__
"path/to/gnuradio"

Am häufigsten haben Sie eine Ordnerstruktur wie diese:

foobarbaz/
  gnuradio/
    __init__.py
    other_file.py

Sie möchten dem Pfad hier Foobarbaz hinzufügen.


@smurff, du hast wahrscheinlich den falschen Weg eingeschlagen. Es sollte das Verzeichnis mit einem Ordner oder einer PY-Datei namens gnuradio sein. Siehe die aktualisierte Antwort.
Brigand

Zum Schluss musste ich aus irgendeinem Grund das parrent-Verzeichnis hinzufügen: /usr/local/lib/python2.7/sitepackages anstelle von ... / sitepackages / gnuradio wie erwartet. Macht nicht viel Sinn. Jetzt
erhalte

12
@FakeRainBrigand Die Registerkarte Pfade in PyCharm4 wird nicht angezeigt.
Ankesh Anand

87
In PyCharm 4 CE: Gehen Sie zum 'Projektinterpreter'. Klicken Sie auf das Zahnrad rechts neben dem Pfad des Dolmetschers. Es wird ein kurzes Dropdown-Menü angezeigt, aus dem Sie "Mehr .." auswählen sollten. Auf der rechten Seite des neuen Popups befindet sich ein Symbol mit dem Mouseover-Text "Pfade für den ausgewählten Interpreter anzeigen". Klicken Sie auf diese Schaltfläche. In diesem neuen Popup-Fenster "Interpreterpfade" können Sie Pfade hinzufügen. @ AnkeshAnand
TheGrimmScientist

3
Für Mac-Benutzer drücken Sie oben links auf PyCharm und dann auf Einstellungen ...-> Projekt-> Projektinterpreter-> Klicken Sie auf das +Zeichen, um ein Paket hinzuzufügen
ofekp

93

Sie sollten den Pfad niemals direkt ändern müssen, weder über Umgebungsvariablen noch über sys.path. Unabhängig davon, ob Sie das Betriebssystem (z. B. apt-get) oder pipeine virtuelle Umgebung verwenden, werden Pakete an einem Speicherort installiert, der sich bereits auf dem Pfad befindet.

In Ihrem Beispiel wird GNU Radio am Standardspeicherort des Python 2-Systems installiert site-packages, der sich bereits im Pfad befindet. Es reicht aus, PyCharm auf den richtigen Interpreter zu richten. Wenn dies nicht der Fall ist, stimmt etwas nicht, das nicht ersichtlich ist. Es kann sein, dass /usr/bin/pythondies nicht auf denselben Interpreter verweist, in dem GNU Radio installiert wurde. Versuchen Sie, speziell auf die python2.7Binärdatei zu zeigen. Oder PyCharm war früher etwas schlecht darin, Pakete zu erkennen. File > Invalidate Caches > Invalidate and Restartwürde sagen, es erneut zu scannen.

In dieser Antwort erfahren Sie, wie Sie eine Projektumgebung einrichten, Pakete in verschiedenen Szenarien installieren und PyCharm konfigurieren sollten. Ich verweise mehrmals auf das Python Packaging-Benutzerhandbuch , das von derselben Gruppe geschrieben wurde, die die offiziellen Python-Verpackungstools verwaltet.


Der richtige Weg, eine Python-Anwendung zu entwickeln, ist eine virtuelle Umgebung. Pakete und Versionen werden installiert, ohne das System oder andere Projekte zu beeinträchtigen. PyCharm verfügt über eine integrierte Schnittstelle zum Erstellen einer virtuellen Umgebung und zum Installieren von Paketen. Oder Sie können es über die Befehlszeile erstellen und dann PyCharm darauf richten.

$ cd MyProject
$ python2 -m virtualenv env
$ . env/bin/activate
$ pip install -U pip setuptools  # get the latest versions
$ pip install flask  # install other packages

Gehen Sie in Ihrem PyCharm-Projekt zu File > Settings > Project > Project Interpreter. Wenn Sie die virtualenvwrapperUmgebung mit oder PyCharm erstellt haben, sollte sie im Menü angezeigt werden. Wenn nicht, klicken Sie auf das Zahnrad, wählen Sie Add Localund suchen Sie die Python-Binärdatei in der Umgebung. PyCharm zeigt alle Pakete in der ausgewählten Umgebung an.

Wähle eine Umgebung

Suchen Sie manuell env


In einigen Fällen, z. B. bei GNU Radio, muss kein Paket installiert werden pip. Das Paket wurde systemweit installiert, wenn Sie den Rest von GNU Radio ( z. B.) installieren apt-get install gnuradio. In diesem Fall sollten Sie weiterhin eine virtuelle Umgebung verwenden, aber Sie müssen sie auf dieses Systempaket aufmerksam machen.

$ python2 -m virtualenv --system-site-packages env

Leider sieht es etwas chaotisch aus, da alle Systempakete jetzt in Ihrer Umgebung angezeigt werden, es sich jedoch nur um Links handelt. Sie können Pakete dennoch sicher installieren oder aktualisieren, ohne das System zu beeinträchtigen.


In einigen Fällen haben Sie mehrere lokale Pakete, die Sie entwickeln, und möchten, dass ein Projekt das andere Paket verwendet. In diesem Fall könnten Sie denken, Sie müssten das lokale Paket zum Pfad des anderen Projekts hinzufügen, aber dies ist nicht der Fall. Sie sollten Ihr Paket im Entwicklungsmodus installieren . Dazu muss lediglich eine setup.pyDatei zu Ihrem Paket hinzugefügt werden, die ohnehin erforderlich ist, um das Paket später ordnungsgemäß zu verteilen und bereitzustellen.

Minimal setup.pyfür Ihr erstes Projekt:

from setuptools import setup, find_packages

setup(
    name='mypackage',
    version='0.1',
    packages=find_packages(),
)

Installieren Sie es dann in der Umgebung Ihres zweiten Projekts:

$ pip install -e /path/to/first/project

51

Für mich ging es nur darum, das Verzeichnis als Quellstamm zu markieren.


3
Es hat bei mir funktioniert, klicken Sie einfach mit der rechten Maustaste auf das Verzeichnis und markieren Sie dann Verzeichnis als: Quellen root. Vielen Dank, dass Sie @michaelsnowden
lmiguelvargasf

2
Arbeitete für mich; Der bizarre Teil ist, dass dies wie mein 15. PyCharm-Projekt ist und das erste Mal, dass ich dies tun musste.
Rob Osborne

1
Meine lokalen Module konnten zur Laufzeit gefunden werden, wurden aber mit roten Kringeln angezeigt, als ob sie nicht gesehen werden könnten. "Verzeichnis als Quellstamm markieren" hat den Kringel entfernt, obwohl nicht sicher ist, ob dies die richtige Methode ist.
Kim Miller

Wissen Sie, was der Standardquellstamm für Pycharm ist, wenn er nicht angegeben ist?
Kanishk Tanwar

41

Meine Version ist PyCharm Professional Edition 3.4, und der Teil Hinzufügen eines Pfads ist anders.

Sie können zu "Einstellungen" -> "Projektinterpreter" gehen. Wählen Sie die Werkzeugschaltfläche in der rechten oberen Ecke.

Wählen Sie dann "Mehr ..." -> "Pfad für den ausgewählten Interpreter anzeigen" -> "Hinzufügen". Dann können Sie einen Pfad hinzufügen.


3
Zumindest für mich, wenn ich dies tue und auf "OK" klicke, gehe ich zurück und finde, dass es immer noch nicht funktioniert. Dann gehe ich zurück zur Liste der Pfade, die dem aktuellen Interpreter zugeordnet sind, und stelle fest, dass der Pfad, den ich gerade hinzugefügt habe, verschwunden ist.
Peter

Nachdem Sie den Pfad hinzugefügt haben, müssen Sie auf die Aktualisierung klicken. schließe das Fenster. Jetzt ist die Schaltfläche Anwenden nicht aktiv. Schalten Sie die Einstellungen um und klicken Sie auf
Übernehmen

39

Pfad in PyCharm 2017 hinzufügen

Datei -> Einstellungen (oder Strg + Alt + S) -> Projekt -> Projektinterpreter

Geben Sie hier die Bildbeschreibung ein Zeige alles

Geben Sie hier die Bildbeschreibung ein Wählen Sie das untere Symbol auf der rechten Seite

Geben Sie hier die Bildbeschreibung ein Klicken Sie auf das Pluszeichen, um Ihrem Modul einen neuen Pfad hinzuzufügen


Endlich normale Antwort, wollte nur wissen, wo der Standardordner pip size_packages eingefügt werden soll.
Stav Bodik

Ich habe das gleiche getan, um den Pfad zu einer JAR-Datei hinzuzufügen, damit ich einige Java-Bibliotheken verwenden kann. Ich weiß jedoch nicht, wie ich die JAR-Datei angeben soll und dass sie von meinem Skript verwendet werden soll. Könnten Sie mir weiter helfen?
JRsz

Vielen Dank! Die zweite Figur ist der Schlüssel!
Vej

5

Ändern Sie NICHT den Interpreterpfad.

Ändern Sie stattdessen die Projektstruktur:

Datei -> Einstellungen -> Projekt -> Projektstruktur -> Inhaltsstamm hinzufügen


1
Danke, funktioniert super, wenn Importe im Projekt kaputt aussehen.
om2c0de

3

Für PyCharm Community Edition 2016.3.2 gilt Folgendes:

"Projektinterpreter" -> Einstellungssymbol oben rechts -> "Mehr".

Dann sollte auf der rechten Seite ein Paketsymbol angezeigt werden. Wenn Sie den Mauszeiger darüber halten, sollte "Pfade für ausgewählten Interpreter anzeigen" angezeigt werden. Klick es.

Klicken Sie dann auf die Schaltfläche "Hinzufügen" oder drücken Sie "Alt + Einfügen", um einen neuen Pfad hinzuzufügen.


1

Im Projektexplorer können Sie mit der rechten Maustaste auf den Ordner klicken, in dem sich das Modul befindet, und als 'Quelle' festlegen.

Es wird im Index für die Code-Vervollständigung sowie für andere Elemente analysiert.


Meine lokalen Module konnten zur Laufzeit gefunden werden, wurden aber mit roten Kringeln angezeigt, als ob sie nicht gesehen werden könnten. "Verzeichnis als Quellstamm markieren" hat den Kringel entfernt, obwohl nicht sicher ist, ob dies die richtige Methode ist.
Kim Miller

0

Als schnelle und schmutzige Lösung funktionierte dies für mich: Hinzufügen dieser 2 Zeilen vor dem problematischen Import:

import sys
sys.path.append('C:\\Python27\\Lib\site-packages')

0

Ich bin neu in PyCharm (unter Verwendung von 2018.3.4 CE) und Python, daher habe ich versucht, jedem der oben genannten Vorschläge zu folgen, um auf das PIL-Paket (Pillow) zuzugreifen, von dem ich wusste, dass es in System-Site-Paketen enthalten ist. Keiner hat funktioniert. Ich wollte gerade für die Nacht aufgeben, als ich zufällig die Datei venv / pyvenv.cfg unter meinem Projekt im Projekt-Explorer-Fenster bemerkte. Ich habe die Zeile "include-system-site-packages = false" in dieser Datei gefunden und sie daher in "true" geändert. Problem gelöst.


0

In PyCharm 2020.1 CE und Professional können Sie dem Python-Interpreter Ihres Projekts einen Pfad hinzufügen, indem Sie folgende Schritte ausführen:

1) Klicken Sie auf den Interpreter in der unteren rechten Ecke des Projekts und wählen Sie "Interpreter-Einstellungen".

Wählen Sie Interpreter-Einstellungen

2) Klicken Sie auf die Einstellungsschaltfläche rechts neben dem Namen des Dolmetschers und wählen Sie "Alle anzeigen":

Wählen Sie Alle Dolmetscher anzeigen

3) Stellen Sie sicher, dass der Interpreter Ihres Projekts ausgewählt ist, und klicken Sie auf die fünfte Schaltfläche in der unteren Symbolleiste, "Pfade für den ausgewählten Interpreter anzeigen":

Pfade für den ausgewählten Python-Interpreter anzeigen

4) Klicken Sie in der unteren Symbolleiste auf die Schaltfläche '+' und fügen Sie dem Ordner, der Ihr Modul enthält, einen Pfad hinzu:

Geben Sie hier die Bildbeschreibung ein


-1

Laden Sie anaconda https://anaconda.org/ herunter

Sobald die Installation von Anaconda abgeschlossen ist ...

Gehen Sie zu Einstellungen -> Projekteinstellungen -> Projektinterpreter.

Navigieren Sie dann zur Registerkarte "Pfade" und suchen Sie nach / anaconda / bin / python

Klicken Sie auf Übernehmen

Geben Sie hier die Bildbeschreibung ein

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.