pyad: se instala bien, pero dice que no puede encontrar adbase

Esto me tiene bastante confundido. He instalado pyad usando pip y todo parece estar bien:

C:\WINDOWS\system32>pip install pyad Collecting pyad Using cached pyad-0.5.16.tar.gz Requirement already satisfied (use --upgrade to upgrade): setuptools in c:\python35\lib\site-packages (from pyad) Requirement already satisfied (use --upgrade to upgrade): pywin32 in c:\python35\lib\site-packages (from pyad) Installing collected packages: pyad Running setup.py install for pyad ... done Successfully installed pyad-0.5.16 

Pero cuando trato de usarlo, recibo un error que se queja por no encontrar adbase:

 C:\WINDOWS\system32>python Python 3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:54:25) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> from pyad import aduser Traceback (most recent call last): File "", line 1, in  File "C:\Python35\lib\site-packages\pyad\__init__.py", line 1, in  from adbase import set_defaults as pyad_setdefaults ImportError: No module named 'adbase' >>> import pyad Traceback (most recent call last): File "", line 1, in  File "C:\Python35\lib\site-packages\pyad\__init__.py", line 1, in  from adbase import set_defaults as pyad_setdefaults ImportError: No module named 'adbase' 

Esto es extraño, porque si bash desinstalar pyad o si compruebo el directorio de paquetes de sitio, definitivamente adbase está ahí:

 C:\WINDOWS\system32>pip uninstall pyad Uninstalling pyad-0.5.16: c:\python35\lib\site-packages\pyad-0.5.16-py3.5.egg-info c:\python35\lib\site-packages\pyad\__init__.py c:\python35\lib\site-packages\pyad\__pycache__\__init__.cpython-35.pyc c:\python35\lib\site-packages\pyad\__pycache__\adcomputer.cpython-35.pyc c:\python35\lib\site-packages\pyad\__pycache__\addomain.cpython-35.pyc c:\python35\lib\site-packages\pyad\__pycache__\adgroup.cpython-35.pyc c:\python35\lib\site-packages\pyad\__pycache__\adquery.cpython-35.pyc c:\python35\lib\site-packages\pyad\__pycache__\adsearch.cpython-35.pyc c:\python35\lib\site-packages\pyad\__pycache__\pyad.cpython-35.pyc c:\python35\lib\site-packages\pyad\adbase.py c:\python35\lib\site-packages\pyad\adcomputer.py c:\python35\lib\site-packages\pyad\adcontainer.py c:\python35\lib\site-packages\pyad\addomain.py c:\python35\lib\site-packages\pyad\adgroup.py c:\python35\lib\site-packages\pyad\adobject.py c:\python35\lib\site-packages\pyad\adquery.py c:\python35\lib\site-packages\pyad\adsearch.py c:\python35\lib\site-packages\pyad\aduser.py c:\python35\lib\site-packages\pyad\pyad.py c:\python35\lib\site-packages\pyad\pyadconstants.py c:\python35\lib\site-packages\pyad\pyadexceptions.py c:\python35\lib\site-packages\pyad\pyadutils.py Proceed (y/n)? 

contenidos del directorio pyad

Realmente no estoy seguro de qué más probar. He ejecutado todo bajo un símbolo del sistema elevado, por lo que no es un problema de permisos. Incluso intenté descargar Pyad e instalarlo usando setup.py, pero tuve el mismo problema con eso. adbase definitivamente está ahí, y no puedo entender por qué Python no lo encuentra.

Eso es un error en parte Pyad. Están importando adbase como si fuera un módulo o paquete independiente, y es por eso que no funciona. La forma correcta de solucionar este problema sería cambiar la importación a una importación absoluta from pyad.adbase import ... o un relativo from .adbase import ...

Sin embargo, si verifica la twig master en Github, verá que realmente la han arreglado. Pero eso no es todo, si comprueba su setup.py verá que la versión en Github es 0.5.15 , mientras que la última versión en PyPI, que es la que tiene instalada, es 0.5.16 . Extraño.

Le sugiero que instale el paquete directamente desde Github, y eso debería solucionar el problema. Para hacer eso, primero desinstala pyad y luego ejecuta

 pip install https://github.com/zakird/pyad/archive/master.zip