cxfreeze faltan módulo distutils dentro de virtualenv
Al ejecutar un binario de cxfreeze desde un proyecto python3.2, aparece el siguiente error de tiempo de ejecución:
/project/dist/project/distutils/__init__.py:13: UserWarning: The virtualenv distutils package at %s appears to be in the same location as the system distutils?
Traceback (most recent call last):
File "/home/chrish/.virtualenvs/project/lib/python3.2/distutils/__init__.py", line 19, in <module>
import dist
ImportError: No module named dist
Correspondientemente hay variosdistutils
entradas en la sección de módulos faltantes de la salida de cxfreeze:
? dist imported from distutils
? distutils.ccompiler imported from numpy.distutils.ccompiler
? distutils.cmd imported from setuptools.dist
? distutils.command.build_ext imported from distutils
? distutils.core imported from numpy.distutils.core
...
He intentado forzar que se incluyan los distutils como un módulo, tanto importándolos en mi archivo python principal como agregándolos a cxfreezesetup.py
como:
options = {"build_exe": {"packages" : ["distutils"]} },
Ninguno de los dos enfoques funcionó. Parece probable que de alguna manera he roto el virtualenv [ya que distutils parece fundamental y la advertencia con respecto a la ubicación de los distutils], repitiendo con un virtualenv limpio replicó el problema.
Puede valer la pena tener en cuenta que instalé cx-freeze ejecutando$VIRTUAL_ENV/build/cx-freeze/setup.py install
Como no se instala limpiamente en pip.