|
From: ruidc <ru...@ya...> - 2013-08-06 11:19:25
|
we have some code that was working fine with matplotlib 1.2.1 using:
from mpl_toolkits.axes_grid import make_axes_locatable, axes_size
now trying to freeze with py2exe (both 0.6.9 and Christoph Gohlke's
0.6.10dev)
results in ImportError: No module named mpl_toolkits
when preparing the actual executable.
running "from mpl_toolkits.axes_grid import make_axes_locatable, axes_size"
itself in python works fine.
I've built a machine afresh and am getting this. Also, it seems to build
fine on win amd64 - but as that is my main development machine, there may be
some polution there
options={'py2exe': {'packages' : ['matplotlib', 'mpl_toolkits', ...
I've tried various different permutations of the above in includes with no
success.
Can anybody suggest why this is failing in 1.3.0 when it is working in 1.2.1
?
Regards,
RuiDC
--
View this message in context: http://matplotlib.1069221.n5.nabble.com/1-3-0-and-py2exe-regression-tp41723.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
|
|
From: Michael D. <md...@st...> - 2013-08-06 12:46:59
|
I have little to no experience with py2exe, so I don't know how much I
can help there.
However, between 1.2.1 and 1.3.0, mpl_toolkits was changed to a
"namespace" package, which allowed basemap to install into it despite it
coming from matplotlib (and being installed with setuptools). I don't
know if that has any bearing on py2exe.
Mike
On 08/06/2013 07:19 AM, ruidc wrote:
> we have some code that was working fine with matplotlib 1.2.1 using:
>
> from mpl_toolkits.axes_grid import make_axes_locatable, axes_size
>
> now trying to freeze with py2exe (both 0.6.9 and Christoph Gohlke's
> 0.6.10dev)
> results in ImportError: No module named mpl_toolkits
>
> when preparing the actual executable.
> running "from mpl_toolkits.axes_grid import make_axes_locatable, axes_size"
> itself in python works fine.
>
> I've built a machine afresh and am getting this. Also, it seems to build
> fine on win amd64 - but as that is my main development machine, there may be
> some polution there
>
> options={'py2exe': {'packages' : ['matplotlib', 'mpl_toolkits', ...
>
> I've tried various different permutations of the above in includes with no
> success.
> Can anybody suggest why this is failing in 1.3.0 when it is working in 1.2.1
> ?
>
> Regards,
> RuiDC
>
>
>
> --
> View this message in context: http://matplotlib.1069221.n5.nabble.com/1-3-0-and-py2exe-regression-tp41723.html
> Sent from the matplotlib - users mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> Get your SQL database under version control now!
> Version control is standard for application code, but databases havent
> caught up. So what steps can you take to put your SQL databases under
> version control? Why should you start doing it? Read more to find out.
> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
|
|
From: ruidc <ru...@ya...> - 2013-08-06 13:35:45
|
Thanks, for the moment, it seems that removing the 'mpl_toolkits' from packages makes it work. Also, with the removal of dateutil from the binary, and installation of dateutil from source pulling in six via easy_install/pip meant it also was not found by py2exe. I got around this by using Christoph Gohlke's binary installer of six. HTH someone else. Regards, RuiDC -- View this message in context: http://matplotlib.1069221.n5.nabble.com/1-3-0-and-py2exe-regression-tp41723p41727.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
|
From: ruidc <ru...@ya...> - 2013-09-03 15:28:48
|
No, this is still coming back to haunt me. I can't figure out how to be able to package this via py2exe now: I am running the command: python setup2.py py2exe via python 2.7.5 and matplotlib 1.3.0 and py2exe 0.6.9 and 0.6.10dev I have read http://www.py2exe.org/index.cgi/ExeWithEggs and tried to implement the suggestions for handling the mpl_toolkits having become a namespace package. Can anyone suggest what I need to make this work?: test_mpl.py is: -------------- from mpl_toolkits.axes_grid1 import make_axes_locatable, axes_size if __name__ == '__main__': print make_axes_locatable, axes_size -------------- setup2.py is: -------------- import py2exe import distutils.sysconfig from distutils.core import setup import modulefinder import matplotlib import mpl_toolkits.axes_grid1 __import__('pkg_resources').declare_namespace("mpl_toolkits") __import__('pkg_resources').declare_namespace("mpl_toolkits.axes_grid1") modulefinder.AddPackagePath("mpl_toolkits", matplotlib.__path__[0]) modulefinder.AddPackagePath("mpl_toolkits.axes_grid1", mpl_toolkits.axes_grid1.__path__[0]) options={'py2exe': {'packages' : ['matplotlib', 'mpl_toolkits.axes_grid1', 'pylab', 'zmq'], 'includes': ['zmq', 'six'], 'excludes': ['_gdk', '_gtk', '_gtkagg', '_tkagg', 'PyQt4.uic.port_v3', 'Tkconstants', 'Tkinter', 'tcl'], 'dll_excludes': ['libgdk-win32-2.0-0.dll', 'libgdk_pixbuf-2.0-0.dll', 'libgobject-2.0-0.dll', 'tcl85.dll', 'tk85.dll'], 'skip_archive': True },} setup(console=['test_mpl.py'], options=options) -------------- output is: -------------- running py2exe *** searching for required modules *** Traceback (most recent call last): File "setup2.py", line 23, in <module> setup(console=['test_mpl.py'], options=options) File "C:\Python27\lib\distutils\core.py", line 152, in setup dist.run_commands() File "C:\Python27\lib\distutils\dist.py", line 953, in run_commands self.run_command(cmd) File "C:\Python27\lib\distutils\dist.py", line 972, in run_command cmd_obj.run() File "C:\Python27\lib\site-packages\py2exe\build_exe.py", line 243, in run self._run() File "C:\Python27\lib\site-packages\py2exe\build_exe.py", line 296, in _run self.find_needed_modules(mf, required_files, required_modules) File "C:\Python27\lib\site-packages\py2exe\build_exe.py", line 1308, in find_needed_modules mf.import_hook(f) File "C:\Python27\lib\site-packages\py2exe\mf.py", line 719, in import_hook return Base.import_hook(self,name,caller,fromlist,level) File "C:\Python27\lib\site-packages\py2exe\mf.py", line 136, in import_hook q, tail = self.find_head_package(parent, name) File "C:\Python27\lib\site-packages\py2exe\mf.py", line 204, in find_head_package raise ImportError, "No module named " + qname ImportError: No module named mpl_toolkits -- View this message in context: http://matplotlib.1069221.n5.nabble.com/1-3-0-and-py2exe-regression-tp41723p41961.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
|
From: ruidc <ru...@ya...> - 2013-09-04 16:10:08
|
PyInstaller 2.0 also has exactly the same error. cx_Freeze unfortunately has problems with some tricks in numpy 1.7.x. -- View this message in context: http://matplotlib.1069221.n5.nabble.com/1-3-0-and-py2exe-regression-tp41723p41972.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
|
From: cheflo <joe...@gm...> - 2013-11-07 22:35:35
|
There is a quite simple workaround to this problem. Find the directory from
which mpl_tools is imported and simply add an empty text file named
"__init__.py" in that directory. py2exe will now find and include this
module without any special imports needed in the setup file.
You can find the mpl_tools directory by typing the following in a python
console:
import importlib
importlib.import_module('mpl_toolkits').__path__
I found the solution here http://stackoverflow.com/a/11632115/2166823 and it
seems to apply to namespace packages in general.
I posted this solution to Stack Overflow as well
http://stackoverflow.com/a/19848039/2166823.
--
View this message in context: http://matplotlib.1069221.n5.nabble.com/1-3-0-and-py2exe-regression-tp41723p42472.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
|