On Mon, Feb 25, 2013 at 3:53 PM, Bradley M. Froehle <brad.froehle@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@gmail.com> wrote:


On Mon, Feb 25, 2013 at 9:16 AM, Ondřej Čertík <ondrej.certik@gmail.com> wrote:
Hi Gelin,

On Sun, Feb 24, 2013 at 12:08 AM, Gelin Yan <dynamicgl@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@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@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion



_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@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