Hi,
First time I use cx_Freeze which seems to be a great tool.
I try to pack a python project with Cython + cx_Freeze and generate a RPM
to install is on a new host/VM.
Packing is Ok, and I succeed in fixing some missing dependencies but when
running the binary after a yum localinstalI of the RPM, I always get this
error which seems to come from the oslo_log package:
Traceback (most recent call last):
File "/usr/lib/python3.4/site-packages/pbr/version.py", line 441, in
_get_version_from_pkg_resources
File "/usr/lib/python3.4/site-packages/pkg_resources/__init__.py", line
441, in get_provider
File "/usr/lib/python3.4/site-packages/pkg_resources/__init__.py", line
962, in require
File "/usr/lib/python3.4/site-packages/pkg_resources/__init__.py", line
849, in resolve
pkg_resources.DistributionNotFound: The 'debtcollector' distribution was
not found and is required by the application
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/usr/lib64/python3.4/site-packages/cx_Freeze/initscripts/__startup__.py",
line 14, in run
File
"/usr/lib64/python3.4/site-packages/cx_Freeze/initscripts/Console.py", line
26, in run
File "vmon/app.py", line 7, in <module>
File "vmon/Main.py", line 36, in init vmon.Main
File "/usr/lib/python3.4/site-packages/oslo_log/log.py", line 41, in
<module>
File "/usr/lib/python3.4/site-packages/oslo_config/cfg.py", line 498, in
<module>
File "/usr/lib/python3.4/site-packages/debtcollector/__init__.py", line
20, in <module>
File "/usr/lib/python3.4/site-packages/pbr/version.py", line 466, in
version_string
File "/usr/lib/python3.4/site-packages/pbr/version.py", line 461, in
semantic_version
File "/usr/lib/python3.4/site-packages/pbr/version.py", line 447, in
_get_version_from_pkg_resources
File "/usr/lib/python3.4/site-packages/pbr/packaging.py", line 33, in
<module>
File "/usr/lib/python3.4/site-packages/setuptools/command/develop.py",
line 9, in <module>
File
"/usr/lib/python3.4/site-packages/setuptools/command/easy_install.py", line
47, in <module>
File "/usr/lib/python3.4/site-packages/setuptools/package_index.py", line
203, in <module>
File "/usr/lib/python3.4/site-packages/pkg_resources/__init__.py", line
962, in require
File "/usr/lib/python3.4/site-packages/pkg_resources/__init__.py", line
849, in resolve
pkg_resources.DistributionNotFound: The 'setuptools' distribution was not
found and is required by the application
here is the cx_freeze section of my setup file where I add oslo_log to the
namespace_packages as mentioned here (
https://stackoverflow.com/questions/26821102/cx-freeze-cant-find-oslo-module
):
common_package = [
"paramiko",
"idna",
"yaml",
"cffi",
"oslo_log",
"oslo_config",
"oslo_utils",
"oslo_context",
"oslo_i18n",
"oslo_serialization",
"tornado",
"netifaces",
"cryptography",
"suds",
"transitions",
"debtcollector",
]
py2_package = ["Queue",]
py3_package = ["queue",]
packages = common_package + (py3_package if sys.version_info >= (3, 0) else
py2_package)
cx_setup(
executables=[Executable(
'%s/app.py' % common_kwargs["name"],
targetName="%s-app" % common_kwargs["name"]
)],
options = {
'build_exe': {
'packages': packages,
#'include_files': list_include_files_with_dir,
#'include_files': [
# (os.path.join(DIR_PATH, "conf/parameters.json"),
"conf/parameters.json"),
#],
'namespace_packages': ["oslo_log","oslo_config","oslo_utils"]
}
},
**common_kwargs
)
Also note that running on on a dev host where packing is done works
correctly (with .so binaries used). May be I miss something...
Thanks fo help!
Loïc
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
cx-freeze-users mailing list
cx-freeze-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cx-freeze-users