web-dev-qa-db-fra.com

Comment importer des modules dans pycharm?

Dans PyCharm, j'ai ajouté le Python environnement /usr/bin/python. cependant,

from gnuradio import gr

échoue en tant que référence non définie. Cependant, cela fonctionne très bien dans l'interpréteur Python à partir de la ligne de commande.

GNURadio fonctionne bien avec python en dehors de Pycharm. Tout est installé et configuré comme je le veux.

Gnuradio est situé à /usr/local/lib/python2.7/site-packages/gnuradio

Aussi:

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

170
smurff

Ajout d'un chemin

Allez dans Fichier → Paramètres → Paramètres du projet → Interprète de projet.

Ensuite, appuyez sur Configurer interprète et accédez à l'onglet "Chemins".

pycharm path tab

Appuyez sur le bouton + dans la zone Chemins. Vous pouvez indiquer le chemin du module que vous souhaitez reconnaître.

Mais je ne connais pas le chemin ..

Ouvrez l’interprète python où vous pouvez importer le module.

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

Le plus souvent, vous aurez une structure de dossier comme celle-ci:

foobarbaz/
  gnuradio/
    __init__.py
    other_file.py

Vous voulez ajouter foobarbaz au chemin ici.

207
Brigand

Vous ne devriez jamais avoir besoin de modifier le chemin directement, que ce soit à l'aide de variables d'environnement ou de sys.path. Que vous utilisiez l'os (ex. apt-get) ou pip dans un fichier virtualenv, les packages seront installés à un emplacement déjà situé sur le chemin.

Dans votre exemple, la radio GNU est installée sur l'emplacement site-packages standard du système Python 2, qui se trouve déjà dans le chemin. Il suffit de pointer PyCharm sur le bon interprète; si ce n'est pas le cas, il y a autre chose qui ne va pas et qui n'est pas apparent. Il se peut que /usr/bin/python ne pointe pas vers le même interpréteur que celui où GNU Radio a été installée; essayez de pointer spécifiquement sur le binaire python2.7. PyCharm avait l'habitude d'être un peu mauvais pour détecter les paquets; File > Invalidate Caches > Invalidate and Restart lui dirait de procéder à une nouvelle analyse.

Cette réponse expliquera comment configurer un environnement de projet, installer des packages dans différents scénarios et configurer PyCharm. Je me réfère plusieurs fois au Guide de l'utilisateur de empaquetage Python , écrit par le même groupe que celui qui gère les outils de conditionnement officiels Python.


La manière correcte de développer une application Python consiste à utiliser virtualenv. Les packages et la version sont installés sans affecter le système ni les autres projets. PyCharm a une interface intégrée pour créer virtualenv et installer des paquetages. Ou vous pouvez le créer à partir de la ligne de commande, puis y pointer PyCharm.

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

Dans votre projet PyCharm, accédez à File > Settings > Project > Project Interpreter. Si vous avez utilisé virtualenvwrapper ou PyCharm pour créer l'env, cela devrait apparaître dans le menu. Sinon, cliquez sur l'engrenage, choisissez Add Local et localisez le binaire Python dans env. PyCharm affichera tous les packages de l’env sélectionné.

choose an env

manually locate env


Dans certains cas, comme avec GNU Radio, aucun paquet ne doit être installé avec pip, le paquet a été installé à l’échelle du système lorsque vous avez installé le reste de GNU Radio (ex. apt-get install gnuradio ). Dans ce cas, vous devez toujours utiliser virtualenv, mais vous devez le mettre au courant de ce package système.

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

Malheureusement, cela semble un peu brouillon, car tous les paquets système vont maintenant apparaître dans votre env, mais ce ne sont que des liens, vous pouvez toujours installer ou mettre à jour des paquets en toute sécurité sans affecter le système.


Dans certains cas, vous développerez plusieurs packages locaux et voudrez qu'un projet utilise l'autre package. Dans ce cas, vous pourriez penser que vous devez ajouter le package local au chemin d'accès de l'autre projet, mais ce n'est pas le cas. Vous devriez installer votre paquet en mode de développement . Tout ce dont vous avez besoin est en ajoutant un fichier setup.py à votre paquet , qui sera de toute façon nécessaire pour distribuer et déployer correctement le paquet ultérieurement.

Minimal setup.py pour votre premier projet:

from setuptools import setup, find_packages

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

Puis installez-le dans le deuxième env de votre projet:

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

Pour moi, il suffisait de marquer le répertoire en tant que racine source.

40
michaelsnowden

Ma version est PyCharm Professional Edition 3.4, et la partie Ajout d’un chemin est différente.

Vous pouvez aller dans "Préférences" -> "Interprète de projet". Choisissez le bouton d'outil dans le coin supérieur droit.

Choisissez ensuite "Plus ..." -> "Afficher le chemin pour l’interprète sélectionné" -> "Ajouter". Ensuite, vous pouvez ajouter un chemin.

37
chenlian

Ajouter un chemin dans PyCharm 2017

Fichier -> Paramètres (ou Ctrl + Alt + S) -> Projet -> Interprète de projet

enter image description here Afficher tout

enter image description here Sélectionnez l'icône en bas à droite

enter image description here Cliquez sur le bouton plus pour ajouter un nouveau chemin d'accès à votre module

33
Dorin

Pour PyCharm Community Edition 2016.3.2, il s'agit de:

"Interprète de projet" -> Icône de paramètres en haut à droite -> "Plus".

Ensuite, sur le côté droit, il devrait y avoir une icône de paquets. Lorsque vous la survolez, il devrait afficher "Afficher les chemins pour l'interprète sélectionné". Cliquez dessus.

Cliquez ensuite sur le bouton "Ajouter" ou appuyez sur "alt + insérer" pour ajouter un nouveau chemin.

3
Wesley

Sur l'Explorateur de projet, vous pouvez cliquer avec le bouton droit de la souris sur le dossier contenant le module et le définir comme "Source".

Il sera analysé dans l'index pour la complétion du code ainsi que pour d'autres éléments.

1
user5497885

NE changez PAS le chemin de l'interprète!

Changez plutôt la structure du projet:

Fichier -> Paramètres -> Projet -> Structure du projet -> Ajouter une racine de contenu

1
Daniel Braun

Je suis nouveau dans PyCharm (avec 2018.3.4 CE) et Python, j'ai donc essayé à distance de suivre chacune des suggestions ci-dessus pour accéder au package PIL (Pillow) dont je savais qu'il se trouvait dans les packages système-site. . Aucun n'a travaillé. J'étais sur le point d'abandonner pour la nuit quand j'ai remarqué le fichier venv/pyvenv.cfg sous mon projet dans la fenêtre Explorateur de projets. J'ai trouvé la ligne "include-system-site-packages = false" dans ce fichier et je l'ai donc changée en "true". Problème résolu.

0
user3397407

Comme solution rapide et sale, cela a fonctionné pour moi: Ajouter ces 2 lignes avant l’importation problématique:

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

Télécharger anaconda https://anaconda.org/

une fois l'installation d'Anaconda terminée ...

Allez dans Paramètres -> Paramètres du projet -> Interprète de projet.

Ensuite, accédez à l'onglet "Chemins" et recherchez/anaconda/bin/python

cliquez sur appliquer

enter image description here

0
Jmitsh