30
« kdy: 16. 04. 2011, 17:48:32 »
Zdravim! Mam nasledujucu strukturu suborov
cx_test/
cx_test.py
package1/
__init__.py
package1.py
package2/
__init__.py
package2.py
package3/
__init__.py
package3.py
Obsah skriptu cx_test.py je tento:
#!/usr/bin/env python3
from package1 import *
from package2 import *
from package3 import *
print("Hello World!")
Skript normalne funguje (vypise Hello World!). Potom som ho freezoval nasledujucim skriptom pomocou cx_Freeze:
#!/usr/bin/env python3
from cx_Freeze import setup, Executable
setup(
name = "cx_test",
executables = [Executable("cx_test.py", packages=["package1", "package2", "package3"])]
)
tymto prikazom v bashi: python3 setup.py build_exe -p package1 -p package2 -p package3. Nasledne som spustil vyplutu binarku v ./build/exe.linux-i686-3.1/cx_test ale vypisala tuto chybovu spravu:
Traceback (most recent call last):
File "/usr/local/lib/python3.1/dist-packages/cx_Freeze/initscripts/Console3.py", line 27, in <module>
exec(code, m.__dict__)
File "cx_test.py", line 3, in <module>
AttributeError: 'module' object has no attribute 'package1'
Pritom tento problem vznika iba ak importujem z balikov (from balik import *) a vsetko je v poriadku ak importujem normalne (import balik). Nevie niekto ako to vyriesit?