2012-10-08 114 views
12

Al tratar de instalar el módulo PyPdf2, descargué el archivo zip y lo descomprimí, ejecuté python setup.py build y python setup.py install, pero parece que no se ha instalado, cuando intento importarlo de un script de python, devuelve un ImportError:No se puede instalar el módulo PyPdf 2

import pyPdf 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named pyPdf 

Cualquier ayuda por favor.

Estoy usando python 2.7 en Windows XP.

+0

no hay errores durante la instalación del módulo, i intenté importarlo desde la línea de comando de Python, probé todos los nombres posibles para el módulo (mayúsculas), pero sin resultado :( – geogeek

+0

sí, el módulo PDF2 se encuentra en C: \ Python27 \ Lib \ site-packages como habrás adivinado y tengo un modulo instalado es antes sin problemas – geogeek

+0

@Evert he hecho una actualización, gracias – geogeek

Respuesta

26

Parece que el archivo README para PyPDF2 es incorrecto. Sugiere que

import pyPdf 

debería funcionar, pero no es así. Este nuevo módulo se importa como

import PyPDF2 

(como se sugiere en la estructura del documento en github, y después de comprobar yo mismo).

Para mayor comodidad, cuando p. Ej. trabajando con código anterior, puede hacerlo, por supuesto,

import PyPDF2 as pyPdf 
+0

muchas gracias Evert – geogeek

0

El instalador de PyPDF para Windows funciona bien para mí. (Win7-64) http://pybrary.net/pyPdf/

+0

Aunque probablemente quieras usar PyPDF2. ¿Podrías quizás comprobar si funcionan los archivos de fusión? – PascalVKooten

+0

He intentado fusionar archivos, funciona bien, pero he tenido un error al combinar archivos PDF que contienen extraños caracteres unicode, el error que se describe aquí http://stackoverflow.com/questions/12781994/pypdf-merge-error, no lo he hecho encontré una solución real, así que utilicé itextsharp para C# – geogeek

+0

@Dualinity: fusionar archivos funciona como el encanto para mí. No he intentado con caracteres Unicode como el comentario anterior. –

0

Entendemos hasta ahora cuál es el problema. Necesito verificar si otros comandos de PyPDF2 funcionan. La importación PyPDF2 busca la carpeta PyPDF2 en la ubicación base de python. En mi caso es C:\Python27\site-packages\PyPDF2.

Cuando se activa virtualenv, la instalación de pip PyPDF2 no crea la carpeta anterior. De ahí el error. Copié manualmente la carpeta PyPDF2 y la carpeta PyPDF2-1.26.0.dist-info de mi entorno virtualenv en la carpeta base anterior y el error se detuvo. Por las dudas, creé un nuevo entorno virtualenv e instalé PyPDF2 con y sin virtualenv activado y el error desapareció.

Mi estructura de carpetas:

  • C: \ python27 \ site-packages \ PyPDF2
  • C: \ python27 \ site-packages \ PyPDF2-1.26.0.dist-info

  • C: \ Python27 \ venv2 \ Lib \ site-packages \ PyPDF2

  • C: \ Python27 \ venv2 \ Lib \ site-packages \ PyPDF2-1.26.0.

script Python dist-información es muy simple para probar la importación:

#import sys 
import PyPDF2 

#print(sys.path) 
print('hello') 

I troubleshooted lo anterior usando la respuesta stackoverflow para comprobar syspath How does python find a module file if the import statement only contains the filename?

Cuestiones relacionadas