[Numpy-discussion] a question about freeze on numpy 1.7.0

Gelin Yan dynamicgl at gmail.com
Mon Feb 25 03:06:19 EST 2013


On Mon, Feb 25, 2013 at 3:53 PM, Bradley M. Froehle
<brad.froehle at gmail.com>wrote:

> I can reproduce with NumPy 1.7.0, but I'm not convinced the bug lies
> within NumPy.
>
> The exception is not being raised on the `del sys` line.  Rather it is
> being raised in numpy.__init__:
>
>   File
> "/home/bfroehle/.local/lib/python2.7/site-packages/cx_Freeze/initscripts/Console.py",
> line 27, in <module>
>     exec code in m.__dict__
>   File "numpytest.py", line 1, in <module>
>     import numpy
>   File
> "/home/bfroehle/.local/lib/python2.7/site-packages/numpy/__init__.py", line
> 147, in <module>
>     from core import *
> AttributeError: 'module' object has no attribute 'sys'
>
> This is because, somehow, `'sys' in numpy.core.__all__` returns True in
> the cx_Freeze context but False in the regular Python context.
>
> -Brad
>
>
> On Sun, Feb 24, 2013 at 10:49 PM, Gelin Yan <dynamicgl at gmail.com> wrote:
>
>>
>>
>> On Mon, Feb 25, 2013 at 9:16 AM, Ondřej Čertík <ondrej.certik at gmail.com>wrote:
>>
>>> Hi Gelin,
>>>
>>> On Sun, Feb 24, 2013 at 12:08 AM, Gelin Yan <dynamicgl at gmail.com> wrote:
>>> > Hi All
>>> >
>>> >      When I used numpy 1.7.0 with cx_freeze 4.3.1 on windows, I quickly
>>> > found out even a simple "import numpy" may lead to program failed with
>>> > following exception:
>>> >
>>> > "AttributeError: 'module' object has no attribute 'sys'
>>> >
>>> > After a poking around some codes I noticed /numpy/core/__init__.py has
>>> a
>>> > line 'del sys' at the bottom. After I commented this line, and
>>> repacked the
>>> > whole program, It ran fine.
>>> > I also noticed this 'del sys' didn't exist on numpy 1.6.2
>>> >
>>> > I am curious why this 'del sys' should be here and whether it is safe
>>> to
>>> > omit it. Thanks.
>>>
>>> The "del sys" line was introduced in the commit:
>>>
>>>
>>> https://github.com/numpy/numpy/commit/4c0576fe9947ef2af8351405e0990cebd83ccbb6
>>>
>>> and it seems to me that it is needed so that the numpy.core namespace is
>>> not
>>> cluttered by it.
>>>
>>> Can you post the full stacktrace of your program (and preferably some
>>> instructions
>>> how to reproduce the problem)? It should become clear where the problem
>>> is.
>>>
>>> Thanks,
>>> Ondrej
>>> _______________________________________________
>>> NumPy-Discussion mailing list
>>> NumPy-Discussion at scipy.org
>>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>>
>>
>> Hi Ondrej
>>
>>     I attached two files here for demonstration. you need cx_freeze to
>> build a standalone executable file. simply running python setup.py build
>> and try to run the executable file you may see this exception. This
>> example works with numpy 1.6.2. Thanks.
>>
>> Regards
>>
>> gelin yan
>>
>>
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion at scipy.org
>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>
>>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
Hi Bradley

    So is it supposed to be a bug of cx_freeze? Any work around for that
except omit 'del sys'? If the answer is no, I may consider submit a ticket
on cx_freeze site. Thanks

Regards

gelin yan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20130225/6b69e357/attachment.html>


More information about the NumPy-Discussion mailing list