>
> psycopyg2._psycopg is no hidden import, but clearly stated in psycopg2/__init__.py. Thus adding to the hidden imports will not help.
>
> The source of your problem must lay somewhere else.
Okay, so I've reinstalled pyinstaller 1.5 (after removing the prior
instllation and created the following barebones Python program that
compiles and runs just fine under the interpreter:
from sqlalchemy import *
engine = create_engine(
'postgresql://
some+d...@10.102.31.99:5432/test_db15',
use_native_unicode=False )
engine.echo = False
print "Engine created"
Both SQLAlchemy and psycopg2 are installed in c:\Python2.7\Lib\site-
packages as shown (which is where their respective installers placed
them by default):
Directory of C:\Python27\Lib\site-packages
05/03/2011 02:34 PM <DIR> psycopg2
02/28/2011 03:01 AM 1,611 psycopg2-2.4-py2.7.egg-info
05/16/2011 10:15 AM <DIR> SQLAlchemy-0.7b4-py2.7-
win32.egg
I have packaged it into an executable using pyinstaller 1.5 using the
following commands
python --onefile Makespec.py c:\ddt\tools\psy-test.py
python Build.py psy-test\psy-test.spec
which produces an executable and a warnings file (below). When the
executable is invoked, the following is produced:
C:\pyinstaller-1.5\psy-test\dist>psy-test.exe
Traceback (most recent call last):
File "<string>", line 11, in <module>
File "psy-test\build\pyi.win32\psy-test\outPYZ1.pyz/
sqlalchemy.engine", line 263, in create_engine
File "psy-test\build\pyi.win32\psy-test\outPYZ1.pyz/
sqlalchemy.engine.strategies", line 64, in create
File "psy-test\build\pyi.win32\psy-test\outPYZ1.pyz/
sqlalchemy.dialects.postgresql.psycopg2", line
262, in dbapi
File "C:\pyinstaller-1.5\iu.py", line 455, in importHook
raise ImportError, "No module named %s" % fqname
ImportError: No module named psycopg2
So, what do I need to tell pyinstaller to get this to work? Any
assistance is greatly appreciated!
Thanks.
Roger Alexander.
W: no module named sqlalchemy.sql.type_coerce (top-level import by
sqlalchemy)
W: no module named sqlalchemy.databases.mssql (top-level import by
sqlalchemy)
W: no module named pyodbc (delayed import by
sqlalchemy.dialects.access.base)
W: no module named sqlalchemy.engine.Engine (delayed import by
sqlalchemy.events)
W: no module named sqlalchemy.databases.sqlite (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.join (top-level import by
sqlalchemy)
W: no module named sqlalchemy.databases.oracle (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.literal (top-level import by
sqlalchemy)
W: no module named sqlalchemy.engine.create_engine (top-level import
by sqlalchemy)
W: no module named sqlalchemy.sql.asc (top-level import by sqlalchemy)
W: no module named sqlalchemy.databases.drizzle (top-level import by
sqlalchemy)
W: no module named sqlalchemy.databases.maxdb (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.between (top-level import by
sqlalchemy)
W: no module named Sybase (delayed import by
sqlalchemy.dialects.sybase.pysybase)
W: no module named sqlalchemy.util.threading (top-level import by
sqlalchemy.util.queue)
W: no module named com (delayed import by
sqlalchemy.dialects.oracle.zxjdbc)
W: no module named sqlalchemy.sql.tuple_ (top-level import by
sqlalchemy)
W: no module named cx_Oracle (delayed import by
sqlalchemy.dialects.oracle.cx_oracle)
W: no module named sqlalchemy.create_engine (delayed, conditional
import by sqlalchemy.schema)
W: no module named sqlalchemy.sql.union_all (top-level import by
sqlalchemy)
W: no module named sqlalchemy.databases.access (top-level import by
sqlalchemy)
W: no module named sqlalchemy.databases.sybase (top-level import by
sqlalchemy)
W: no module named sqlalchemy.databases.mysql (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.union (top-level import by
sqlalchemy)
W: no module named sqlalchemy.MetaData (top-level import by
sqlalchemy.dialects.mssql.information_schema)
W: no module named sqlalchemy.sql.bindparam (top-level import by
sqlalchemy.dialects.sybase.base)
W: no module named sqlalchemy.util.threading (top-level import by
sqlalchemy.pool)
W: no module named sqlalchemy.sql.desc (top-level import by
sqlalchemy)
W: no module named sqlalchemy.util.symbol (top-level import by
sqlalchemy.sql.operators)
W: no module named mysql (delayed, conditional import by
sqlalchemy.dialects.mysql.mysqlconnector)
W: no module named sqlalchemy.sql.modifier (top-level import by
sqlalchemy)
W: no module named sqlalchemy.Column (top-level import by
sqlalchemy.dialects.mssql.information_schema)
W: no module named sqlalchemy.connectors.Connector (top-level import
by sqlalchemy.connectors.zxJDBC)
W: no module named sqlalchemy.util.pickle (top-level import by
sqlalchemy.types)
W: no module named sqlalchemy.util.asbool (top-level import by
sqlalchemy.connectors.pyodbc)
W: no module named sqlalchemy.sql.and_ (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.or_ (top-level import by sqlalchemy)
W: no module named java (delayed import by
sqlalchemy.dialects.oracle.zxjdbc)
W: no module named mx (delayed import by sqlalchemy.connectors.mxodbc)
W: no module named sqlalchemy.sql.insert (top-level import by
sqlalchemy)
W: no module named sqlalchemy.util.chop_traceback (top-level import by
sqlalchemy.pool)
W: no module named sqlalchemy.databases.postgresql (top-level import
by sqlalchemy)
W: no module named sqlalchemy.sql.text (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.text (top-level import by
sqlalchemy.dialects.sybase.base)
W: no module named sqlalchemy.sql.except_ (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.not_ (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.subquery (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.select (top-level import by
sqlalchemy.dialects.mssql.base)
W: no module named sqlalchemy.sql.distinct (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.func (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.extract (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.exists (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.text (top-level import by
sqlalchemy.dialects.informix.base)
W: no module named sqlalchemy.sql.outerjoin (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.bindparam (top-level import by
sqlalchemy)
W: no module named sqlalchemy.connectors.Connector (top-level import
by sqlalchemy.connectors.mysqldb)
W: no module named sqlalchemy.util.memoized_property (top-level import
by sqlalchemy.pool)
W: no module named sqlalchemy.databases.informix (top-level import by
sqlalchemy)
W: no module named sqlalchemy.connectors.Connector (top-level import
by sqlalchemy.connectors.mxodbc)
W: no module named sqlalchemy.sql.except_all (top-level import by
sqlalchemy)
W: no module named sqlalchemy.connectors.Connector (top-level import
by sqlalchemy.connectors.pyodbc)
W: no module named sqlalchemy.sql.alias (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.literal_column (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.cast (top-level import by
sqlalchemy)
W: no module named mysql (delayed import by
sqlalchemy.dialects.mysql.mysqlconnector)
W: no module named sqlalchemy.sql.over (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.intersect (top-level import by
sqlalchemy)
W: no module named pysqlite2 (delayed import by
sqlalchemy.dialects.sqlite.pysqlite)
W: no module named sqlalchemy.sql.select (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.delete (top-level import by
sqlalchemy)
W: no module named sqlalchemy.databases.firebird (top-level import by
sqlalchemy)
W: no module named postgresql (delayed import by
sqlalchemy.dialects.postgresql.pypostgresql)
W: no module named sqlalchemy.sql.case (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.update (top-level import by
sqlalchemy)
W: no module named com (delayed import by
sqlalchemy.connectors.zxJDBC)
W: no module named sqlalchemy.engine.engine_from_config (top-level
import by sqlalchemy)
W: no module named mx (delayed, conditional import by
sqlalchemy.connectors.mxodbc)
W: no module named sqlalchemy.sql.null (top-level import by
sqlalchemy)
W: no module named sqlalchemy.Table (top-level import by
sqlalchemy.dialects.mssql.information_schema)
W: no module named sqlalchemy.sql.collate (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.intersect_all (top-level import by
sqlalchemy)
W: no module named sqlalchemy.sql.outparam (top-level import by
sqlalchemy)
W: delayed __import__ hack detected at line 0 -
sqlalchemy.dialects.postgresql.pg8000 (c:\Python27\lib\site-packages
\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy\dialects\postgresql
\pg8000.pyc)
W: __all__ is built strangely at line 0 - sqlalchemy.dialects.oracle
(c:\Python27\lib\site-packages\sqlalchemy-0.7b4-py2.7-win32.egg
\sqlalchemy\dialects\oracle\__init__.pyc)
W: delayed __import__ hack detected at line 0 -
sqlalchemy.dialects.informix.informixdb (c:\Python27\lib\site-packages
\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy\dialects\informix
\informixdb.pyc)
W: delayed __import__ hack detected at line 0 -
sqlalchemy.dialects.mysql.pymysql (c:\Python27\lib\site-packages
\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy\dialects\mysql
\pymysql.pyc)
W: top-level exec statement detected at line 0 - sqlalchemy.sql.util
(c:\Python27\lib\site-packages\sqlalchemy-0.7b4-py2.7-win32.egg
\sqlalchemy\sql\util.pyc)
W: top-level exec statement detected at line 0 - sqlalchemy.sql.util
(c:\Python27\lib\site-packages\sqlalchemy-0.7b4-py2.7-win32.egg
\sqlalchemy\sql\util.pyc)
W: __all__ is built strangely at line 0 - sqlalchemy.dialects.sybase
(c:\Python27\lib\site-packages\sqlalchemy-0.7b4-py2.7-win32.egg
\sqlalchemy\dialects\sybase\__init__.pyc)
W: __all__ is built strangely at line 0 -
sqlalchemy.dialects.postgresql (c:\Python27\lib\site-packages
\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy\dialects\postgresql
\__init__.pyc)
W: __all__ is built strangely at line 0 - sqlalchemy.dialects.mssql (c:
\Python27\lib\site-packages\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy
\dialects\mssql\__init__.pyc)
W: __all__ is built strangely at line 0 - sqlalchemy.dialects.firebird
(c:\Python27\lib\site-packages\sqlalchemy-0.7b4-py2.7-win32.egg
\sqlalchemy\dialects\firebird\__init__.pyc)
W: __all__ is built strangely at line 0 - sqlalchemy.databases (c:
\Python27\lib\site-packages\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy
\databases\__init__.pyc)
W: __all__ is built strangely at line 0 - sqlalchemy.dialects.drizzle
(c:\Python27\lib\site-packages\sqlalchemy-0.7b4-py2.7-win32.egg
\sqlalchemy\dialects\drizzle\__init__.pyc)
W: __all__ is built strangely at line 0 - sqlalchemy.engine (c:
\Python27\lib\site-packages\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy
\engine\__init__.pyc)
W: delayed __import__ hack detected at line 0 -
sqlalchemy.dialects.postgresql.psycopg2 (c:\Python27\lib\site-packages
\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy\dialects\postgresql
\psycopg2.pyc)
W: delayed __import__ hack detected at line 0 -
sqlalchemy.dialects.postgresql.psycopg2 (c:\Python27\lib\site-packages
\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy\dialects\postgresql
\psycopg2.pyc)
W: delayed conditional __import__ hack detected at line 0 -
sqlalchemy.dialects.postgresql.psycopg2 (c:\Python27\lib\site-packages
\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy\dialects\postgresql
\psycopg2.pyc)
W: delayed __import__ hack detected at line 0 -
sqlalchemy.connectors.mysqldb (c:\Python27\lib\site-packages
\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy\connectors\mysqldb.pyc)
W: delayed conditional __import__ hack detected at line 0 -
sqlalchemy.connectors.mysqldb (c:\Python27\lib\site-packages
\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy\connectors\mysqldb.pyc)
W: __all__ is built strangely at line 0 - sqlalchemy.dialects.mysql (c:
\Python27\lib\site-packages\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy
\dialects\mysql\__init__.pyc)
W: __all__ is built strangely at line 0 - sqlalchemy.sql (c:
\Python27\lib\site-packages\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy
\sql\__init__.pyc)
W: delayed eval hack detected at line 0 - sqlalchemy.util.langhelpers
(c:\Python27\lib\site-packages\sqlalchemy-0.7b4-py2.7-win32.egg
\sqlalchemy\util\langhelpers.pyc)
W: delayed exec statement detected at line 0 -
sqlalchemy.util.langhelpers (c:\Python27\lib\site-packages
\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy\util\langhelpers.pyc)
W: delayed conditional __import__ hack detected at line 0 -
sqlalchemy.util.langhelpers (c:\Python27\lib\site-packages
\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy\util\langhelpers.pyc)
W: delayed conditional __import__ hack detected at line 0 -
sqlalchemy.util.langhelpers (c:\Python27\lib\site-packages
\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy\util\langhelpers.pyc)
W: delayed __import__ hack detected at line 0 -
sqlalchemy.dialects.firebird.kinterbasdb (c:\Python27\lib\site-packages
\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy\dialects\firebird
\kinterbasdb.pyc)
W: delayed __import__ hack detected at line 0 - sqlalchemy.engine.url
(c:\Python27\lib\site-packages\sqlalchemy-0.7b4-py2.7-win32.egg
\sqlalchemy\engine\url.pyc)
W: __all__ is built strangely at line 0 - sqlalchemy.dialects (c:
\Python27\lib\site-packages\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy
\dialects\__init__.pyc)
W: delayed __import__ hack detected at line 0 -
sqlalchemy.dialects.mysql.oursql (c:\Python27\lib\site-packages
\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy\dialects\mysql
\oursql.pyc)
W: delayed conditional __import__ hack detected at line 0 -
sqlalchemy.types (c:\Python27\lib\site-packages\sqlalchemy-0.7b4-py2.7-
win32.egg\sqlalchemy\types.pyc)
W: delayed __import__ hack detected at line 0 -
sqlalchemy.dialects.mssql.pymssql (c:\Python27\lib\site-packages
\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy\dialects\mssql
\pymssql.pyc)
W: delayed __import__ hack detected at line 0 -
sqlalchemy.connectors.pyodbc (c:\Python27\lib\site-packages
\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy\connectors\pyodbc.pyc)
W: __all__ is built strangely at line 0 - sqlalchemy (c:\Python27\lib
\site-packages\sqlalchemy-0.7b4-py2.7-win32.egg\sqlalchemy
\__init__.pyc)