¿Cómo uso los paquetes instalados en PyCharm?

200

En PyCharm , agregué el entorno Python /usr/bin/python. Sin embargo,

from gnuradio import gr

falla como una referencia indefinida . Sin embargo, funciona bien en el intérprete de Python desde la línea de comandos.

GNURadio funciona bien con python fuera de Pycharm. Todo está instalado y configurado como lo quiero.

Gnuradio está ubicado en /usr/local/lib/python2.7/site-packages/gnuradio

También:

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

pitufo
fuente
1
Ok, entonces, ¿cómo instalaste gnuradio?
LotusUNSW
1
Puede instalar gnuradio desde los repositorios disponibles en PyCharm. PyCharm -> Preferencias (Configuración en Windows) -> Proyecto -> Intérprete de proyecto -> haga clic en '+' inicie sesión en la sección de paquetes y busque el paquete requerido. Puede que tenga que agregar repositorios si el paquete requerido no está disponible en repositorios ya agregados. HTH
avp

Respuestas:

229

Agregar una ruta

Vaya a Archivo → Configuración → Configuración del proyecto → Intérprete del proyecto.

Luego presione configurar intérprete y navegue a la pestaña "Rutas".

pestaña ruta pycharm

Presione el botón + en el área de Rutas. Puede poner la ruta al módulo que desea que reconozca.

Pero no conozco el camino ...

Abra el intérprete de Python donde puede importar el módulo.

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

Por lo general, tendrá una estructura de carpetas como esta:

foobarbaz/
  gnuradio/
    __init__.py
    other_file.py

Desea agregar foobarbaz a la ruta aquí.

Bandido
fuente
@smurff, probablemente colocaste el camino equivocado. Debe ser el directorio con una carpeta o un archivo .py llamado gnuradio. Ver la respuesta actualizada.
Brigante
Cerrar, por algún motivo, tuve que agregar el directorio de padres: /usr/local/lib/python2.7/sitepackages en lugar de ... / sitepackages / gnuradio como se esperaba. No tiene mucho sentido Sin embargo, ahora recibo más errores haciendo referencia a bibliotecas compartidas:
smurff
12
@FakeRainBrigand No se puede ver la pestaña Rutas en PyCharm4.
Ankesh Anand
87
En PyCharm 4 CE: Vaya al 'Proyecto Intérprete'. Haga clic en el engranaje a la derecha de la ruta del intérprete. Aparecerá un breve menú desplegable, desde el cual debe seleccionar "Más ...". En el lado derecho de la nueva ventana emergente, habrá un ícono con el texto sobre "Mostrar rutas para el intérprete seleccionado". Haz clic en ese botón. Esta nueva ventana emergente 'Rutas de intérprete' es donde puede agregar rutas. @AnkeshAnand
TheGrimmScientist
3
Para usuarios de Mac, presione PyCharm en la esquina superior izquierda y luego Preferencias ...-> Proyecto-> Intérprete de proyecto-> Haga clic en el +signo para agregar un paquete
ofekp
94

Nunca debería necesitar modificar la ruta directamente, ya sea a través de variables de entorno o sys.path. Ya sea que use el sistema operativo (ej. apt-get) O pipvirtualenv, los paquetes se instalarán en una ubicación que ya se encuentra en la ruta.

En su ejemplo, GNU Radio está instalado en la site-packagesubicación estándar del sistema Python 2 , que ya está en la ruta. Apuntar PyCharm al intérprete correcto es suficiente; Si no es así, hay algo más que no es aparente. Puede ser que /usr/bin/pythonno apunte al mismo intérprete en el que se instaló GNU Radio; Intenta apuntar específicamente al python2.7binario. O, PyCharm solía ser algo malo para detectar paquetes; File > Invalidate Caches > Invalidate and Restartle diría que vuelva a escanear.

Esta respuesta cubrirá cómo debe configurar un entorno de proyecto, instalar paquetes en diferentes escenarios y configurar PyCharm. Me refiero varias veces a la Guía del usuario de Python Packaging , escrita por el mismo grupo que mantiene las herramientas oficiales de Python.


La forma correcta de desarrollar una aplicación Python es con un virtualenv. Los paquetes y la versión se instalan sin afectar el sistema u otros proyectos. PyCharm tiene una interfaz incorporada para crear un virtualenv e instalar paquetes. O puede crearlo desde la línea de comando y luego apuntar PyCharm hacia él.

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

En su proyecto PyCharm, vaya a File > Settings > Project > Project Interpreter. Si utilizó virtualenvwrapperPyCharm para crear el entorno, debería aparecer en el menú. Si no, haga clic en el engranaje, elija Add Localy ubique el binario de Python en el entorno. PyCharm mostrará todos los paquetes en el entorno seleccionado.

elige un env

localizar manualmente env


En algunos casos, como con GNU Radio, no hay un paquete para instalar pip, el paquete se instaló en todo el sistema cuando instala el resto de GNU Radio (ej. apt-get install gnuradio). En este caso, aún debe usar un virtualenv, pero deberá conocer este paquete del sistema.

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

Desafortunadamente, parece un poco desordenado, porque todos los paquetes del sistema ahora aparecerán en su entorno, pero son solo enlaces, aún puede instalar o actualizar paquetes de manera segura sin afectar el sistema.


En algunos casos, tendrá múltiples paquetes locales que está desarrollando y querrá que un proyecto use el otro paquete. En este caso, puede pensar que tiene que agregar el paquete local a la ruta del otro proyecto, pero este no es el caso. Debe instalar su paquete en modo de desarrollo . Todo lo que esto requiere es agregar un setup.pyarchivo a su paquete , que de todos modos será necesario para distribuirlo e implementarlo más tarde.

Mínimo setup.pypara su primer proyecto:

from setuptools import setup, find_packages

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

Luego instálelo en el entorno de su segundo proyecto:

$ pip install -e /path/to/first/project
davidismo
fuente
51

Para mí, solo era cuestión de marcar el directorio como raíz raíz.

michaelsnowden
fuente
3
Funcionó para mí, simplemente haga clic derecho en el directorio y luego Marque el directorio como: raíz de fuentes. Gracias @michaelsnowden
lmiguelvargasf
2
Trabajó para mi; Lo extraño es que es como mi 15º proyecto PyCharm y la primera vez que tuve que hacer esto.
Rob Osborne el
1
Mis módulos locales se podían encontrar en tiempo de ejecución, pero se mostraban con garabatos rojos como si no se pudieran ver. "marcar directorio como raíz de fuentes" eliminó el garabato, aunque no estoy seguro de que sea el método correcto.
Kim Miller
¿sabe cuál es la raíz fuente predeterminada para pycharm, si no se especifica?
Kanishk Tanwar
41

Mi versión es PyCharm Professional edición 3.4, y la parte Agregar una ruta es diferente.

Puede ir a "Preferencias" -> "Intérprete de proyecto". Elija el botón de herramienta en la esquina superior derecha.

Luego elija "Más ..." -> "Mostrar ruta para el intérprete seleccionado" -> "Agregar". Entonces puedes agregar una ruta.

chenlian
fuente
3
Al menos para mí, cuando hago esto y hago clic en "ok", vuelvo y veo que todavía no funciona. Luego vuelvo a la lista de rutas asociadas con el intérprete actual y encuentro que la ruta que acabo de agregar se ha ido.
Peter
después de agregar la ruta, debe hacer clic en la actualización. cerrar la ventana. ahora el botón aplicar no está activo. cambie la configuración y haga clic en Aplicar si está activo
JuKe
40

Agregar ruta en PyCharm 2017

Archivo -> Configuración (o Ctrl + Alt + S) -> Proyecto -> Intérprete de proyecto

ingrese la descripción de la imagen aquí Mostrar todo

ingrese la descripción de la imagen aquí Seleccione el ícono inferior en el lado derecho

ingrese la descripción de la imagen aquí Haga clic en el botón más para agregar una nueva ruta a su módulo

Dorin
fuente
Finalmente respuesta normal, solo quería saber dónde pegar la carpeta predeterminada pip size_packages.
Stav Bodik
He hecho lo mismo para agregar la ruta a un archivo .jar, así que puedo usar algunas bibliotecas de Java. Sin embargo, no sé cómo especificar el archivo jar y que mi script debe utilizarlo. ¿Podrías ayudarme más?
JRsz
¡Gracias! ¡La segunda figura es la clave!
Vej
5

NO cambie la ruta del intérprete.

Cambie la estructura del proyecto en su lugar:

Archivo -> Configuración -> Proyecto -> Estructura del proyecto -> Agregar raíz de contenido

Daniel Braun
fuente
1
Gracias, funciona muy bien si las importaciones en el proyecto parecen rotas.
om2c0de
3

Para PyCharm Community Edition 2016.3.2 es:

"Intérprete de proyecto" -> icono de configuración superior derecha -> "Más".

Luego, en el lado derecho, debe haber un ícono de paquetes. Al pasar el cursor sobre él, debería decir "Mostrar rutas para el intérprete seleccionado". Pinchalo.

Luego haga clic en el botón "Agregar" o presione "alt + insertar" para agregar una nueva ruta.

Wesley
fuente
1

En Project Explorer, puede hacer clic con el botón derecho en la carpeta donde está contenido el módulo y establecerlo como 'Fuente'.

Se analizará en el Índice para completar el código, así como otros elementos.


fuente
Mis módulos locales se podían encontrar en tiempo de ejecución, pero se mostraban con garabatos rojos como si no se pudieran ver. "marcar directorio como raíz de fuentes" eliminó el garabato, aunque no estoy seguro de que sea el método correcto.
Kim Miller
0

Como solución rápida y sucia, esto funcionó para mí: Agregar estas 2 líneas antes de la importación problemática:

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

Soy nuevo en PyCharm (usando 2018.3.4 CE) y Python, así que intenté seguir cada una de las sugerencias anteriores para acceder al paquete PIL (Pillow) que sabía que estaba en los paquetes del sitio del sistema. Ninguno funcionó. Estaba a punto de rendirme por la noche cuando noté el archivo venv / pyvenv.cfg debajo de mi proyecto en la ventana del Explorador de proyectos. Encontré la línea "include-system-site-packages = false" en ese archivo y la cambié a "true". Problema resuelto.

usuario3397407
fuente
0

En PyCharm 2020.1 CE y Professional, puede agregar una ruta al intérprete de Python de su proyecto haciendo lo siguiente:

1) Haga clic en el intérprete en la esquina inferior derecha del proyecto y seleccione 'Configuración del intérprete'

Seleccione la configuración del intérprete

2) Haga clic en el botón de configuración a la derecha del nombre del intérprete y seleccione 'Mostrar todo':

Seleccione Mostrar todos los intérpretes

3) Asegúrese de que el intérprete de su proyecto esté seleccionado y haga clic en el quinto botón en la barra de herramientas inferior, 'mostrar rutas para el intérprete seleccionado':

Mostrar rutas para el intérprete de Python seleccionado

4) Haga clic en el botón '+' en la barra de herramientas inferior y agregue una ruta a la carpeta que contiene su módulo:

ingrese la descripción de la imagen aquí

GingerBreadMane
fuente
-1

Descargar anaconda https://anaconda.org/

una vez hecho instalar anaconda ...

Vaya a Configuración -> Configuración de proyecto -> Intérprete de proyecto.

Luego navegue a la pestaña "Rutas" y busque / anaconda / bin / python

haga clic en aplicar

ingrese la descripción de la imagen aquí

Jmitsh
fuente