Git Product home page Git Product logo

Comments (7)

bjpietrzak avatar bjpietrzak commented on September 23, 2024

Ok! I can see that the --follow-imports command is causing this behaviour. However, I need to keep looking for a solution. My project comprises a couple of modules stored in separate directories:

.
├── config
├── main.py
├── dir1
│   ├── file6.py
│   ├── file5.py
│   ├── file4.py
│   ├── file3.py
│   ├── file2.py
│   ├── file1.py
│   ├── dir2
│   │   ├── file3.py
│   │   ├── file2.py
│   │   └── file1.py
│   └── dir1
│   ├── file4py
│   ├── file2.py
│   ├── file2.py
│   └── file1.py
└── setup.py

My goal is to create a single executable file out of this project, but I don't want to include any external libraries like numpy or opencv-python. Just want to hide the source code.

from nuitka.

bjpietrzak avatar bjpietrzak commented on September 23, 2024

When I try to build this project with this command python -m nuitka --onefile main.py I get this error message:

FATAL: anti-bloat: Error, failed to evaluate expression "textwrap.indent(pkgutil.get_data('cv2', 'config.py').decode('utf8'), '    ') + textwrap.indent(pkgutil.get_data('cv2', 'config-3.py').decode('utf8'), '    ')" in this context, exception was '[Errno 2] No such file or directory: '/usr/local/lib/python3.11/site-packages/cv2/config-3.py''.
Nuitka-Reports: Compilation crash report written to file 'nuitka-crash-report.xml'.

I'm passing the content of nuitika-crash-report.xml below:

<?xml version='1.0' encoding='utf8'?>
<nuitka-compilation-report nuitka_version="2.2.2" nuitka_commercial_version="not installed" completion="error exit message (1)" exit_message="anti-bloat: Error, failed to evaluate expression &quot;textwrap.indent(pkgutil.get_data('cv2', 'config.py').decode('utf8'), '    ') + textwrap.indent(pkgutil.get_data('cv2', 'config-3.py').decode('utf8'), '    ')&quot; in this context, exception was '[Errno 2] No such file or directory: '/usr/local/lib/python3.11/site-packages/cv2/config-3.py''.">
  <module name="__main__" kind="PythonMainModule" usage="root_module" reason="Root module" source_path="main.py">
    <optimization-time pass="1" time="0.02" />
    <module_usages>
      <module_usage name="fastapi" finding="absolute" line="1" />
      <module_usage name="fastapi.FastAPI" finding="not-found" line="1" />
      <module_usage name="fastapi.Request" finding="not-found" line="1" />
      <module_usage name="uvicorn" finding="absolute" line="2" />
      <module_usage name="uvicorn.run" finding="not-found" line="2" />
      <module_usage name="sco.logger" finding="absolute" line="4" />
      <module_usage name="sco" finding="absolute" line="5" />
      <module_usage name="sco.config" finding="not-found" line="5" />
      <module_usage name="sco.camera_router" finding="absolute" line="6" />
      <module_usage name="sco.config_setup" finding="absolute" line="7" />
      <module_usage name="_codecs_cn" finding="absolute" line="1" />
      <module_usage name="_codecs_hk" finding="absolute" line="1" />
      <module_usage name="_codecs_iso2022" finding="absolute" line="1" />
      <module_usage name="_codecs_jp" finding="absolute" line="1" />
      <module_usage name="_codecs_kr" finding="absolute" line="1" />
      <module_usage name="_codecs_tw" finding="absolute" line="1" />
      <module_usage name="_collections_abc" finding="absolute" line="1" />
      <module_usage name="_multibytecodec" finding="absolute" line="1" />
      <module_usage name="abc" finding="absolute" line="1" />
      <module_usage name="ast" finding="absolute" line="1" />
      <module_usage name="binascii" finding="absolute" line="1" />
      <module_usage name="codecs" finding="absolute" line="1" />
      <module_usage name="collections" finding="absolute" line="1" />
      <module_usage name="collections.abc" finding="absolute" line="1" />
      <module_usage name="contextlib" finding="absolute" line="1" />
      <module_usage name="copyreg" finding="absolute" line="1" />
      <module_usage name="dis" finding="absolute" line="1" />
      <module_usage name="encodings" finding="absolute" line="1" />
      <module_usage name="encodings.aliases" finding="absolute" line="1" />
      <module_usage name="encodings.ascii" finding="absolute" line="1" />
      <module_usage name="encodings.big5" finding="absolute" line="1" />
      <module_usage name="encodings.big5hkscs" finding="absolute" line="1" />
      <module_usage name="encodings.charmap" finding="absolute" line="1" />
      <module_usage name="encodings.cp037" finding="absolute" line="1" />
      <module_usage name="encodings.cp1006" finding="absolute" line="1" />
      <module_usage name="encodings.cp1026" finding="absolute" line="1" />
      <module_usage name="encodings.cp1125" finding="absolute" line="1" />
      <module_usage name="encodings.cp1140" finding="absolute" line="1" />
      <module_usage name="encodings.cp1250" finding="absolute" line="1" />
      <module_usage name="encodings.cp1251" finding="absolute" line="1" />
      <module_usage name="encodings.cp1252" finding="absolute" line="1" />
      <module_usage name="encodings.cp1253" finding="absolute" line="1" />
      <module_usage name="encodings.cp1254" finding="absolute" line="1" />
      <module_usage name="encodings.cp1255" finding="absolute" line="1" />
      <module_usage name="encodings.cp1256" finding="absolute" line="1" />
      <module_usage name="encodings.cp1257" finding="absolute" line="1" />
      <module_usage name="encodings.cp1258" finding="absolute" line="1" />
      <module_usage name="encodings.cp273" finding="absolute" line="1" />
      <module_usage name="encodings.cp424" finding="absolute" line="1" />
      <module_usage name="encodings.cp437" finding="absolute" line="1" />
      <module_usage name="encodings.cp500" finding="absolute" line="1" />
      <module_usage name="encodings.cp720" finding="absolute" line="1" />
      <module_usage name="encodings.cp737" finding="absolute" line="1" />
      <module_usage name="encodings.cp775" finding="absolute" line="1" />
      <module_usage name="encodings.cp850" finding="absolute" line="1" />
      <module_usage name="encodings.cp852" finding="absolute" line="1" />
      <module_usage name="encodings.cp855" finding="absolute" line="1" />
      <module_usage name="encodings.cp856" finding="absolute" line="1" />
      <module_usage name="encodings.cp857" finding="absolute" line="1" />
      <module_usage name="encodings.cp858" finding="absolute" line="1" />
      <module_usage name="encodings.cp860" finding="absolute" line="1" />
      <module_usage name="encodings.cp861" finding="absolute" line="1" />
      <module_usage name="encodings.cp862" finding="absolute" line="1" />
      <module_usage name="encodings.cp863" finding="absolute" line="1" />
      <module_usage name="encodings.cp864" finding="absolute" line="1" />
      <module_usage name="encodings.cp865" finding="absolute" line="1" />
      <module_usage name="encodings.cp866" finding="absolute" line="1" />
      <module_usage name="encodings.cp869" finding="absolute" line="1" />
      <module_usage name="encodings.cp874" finding="absolute" line="1" />
      <module_usage name="encodings.cp875" finding="absolute" line="1" />
      <module_usage name="encodings.cp932" finding="absolute" line="1" />
      <module_usage name="encodings.cp949" finding="absolute" line="1" />
      <module_usage name="encodings.cp950" finding="absolute" line="1" />
      <module_usage name="encodings.euc_jis_2004" finding="absolute" line="1" />
      <module_usage name="encodings.euc_jisx0213" finding="absolute" line="1" />
      <module_usage name="encodings.euc_jp" finding="absolute" line="1" />
      <module_usage name="encodings.euc_kr" finding="absolute" line="1" />
      <module_usage name="encodings.gb18030" finding="absolute" line="1" />
      <module_usage name="encodings.gb2312" finding="absolute" line="1" />
      <module_usage name="encodings.gbk" finding="absolute" line="1" />
      <module_usage name="encodings.hp_roman8" finding="absolute" line="1" />
      <module_usage name="encodings.hz" finding="absolute" line="1" />
      <module_usage name="encodings.iso2022_jp" finding="absolute" line="1" />
      <module_usage name="encodings.iso2022_jp_1" finding="absolute" line="1" />
      <module_usage name="encodings.iso2022_jp_2" finding="absolute" line="1" />
      <module_usage name="encodings.iso2022_jp_2004" finding="absolute" line="1" />
      <module_usage name="encodings.iso2022_jp_3" finding="absolute" line="1" />
      <module_usage name="encodings.iso2022_jp_ext" finding="absolute" line="1" />
      <module_usage name="encodings.iso2022_kr" finding="absolute" line="1" />
      <module_usage name="encodings.iso8859_1" finding="absolute" line="1" />
      <module_usage name="encodings.iso8859_10" finding="absolute" line="1" />
      <module_usage name="encodings.iso8859_11" finding="absolute" line="1" />
      <module_usage name="encodings.iso8859_13" finding="absolute" line="1" />
      <module_usage name="encodings.iso8859_14" finding="absolute" line="1" />
      <module_usage name="encodings.iso8859_15" finding="absolute" line="1" />
      <module_usage name="encodings.iso8859_16" finding="absolute" line="1" />
      <module_usage name="encodings.iso8859_2" finding="absolute" line="1" />
      <module_usage name="encodings.iso8859_3" finding="absolute" line="1" />
      <module_usage name="encodings.iso8859_4" finding="absolute" line="1" />
      <module_usage name="encodings.iso8859_5" finding="absolute" line="1" />
      <module_usage name="encodings.iso8859_6" finding="absolute" line="1" />
      <module_usage name="encodings.iso8859_7" finding="absolute" line="1" />
      <module_usage name="encodings.iso8859_8" finding="absolute" line="1" />
      <module_usage name="encodings.iso8859_9" finding="absolute" line="1" />
      <module_usage name="encodings.johab" finding="absolute" line="1" />
      <module_usage name="encodings.koi8_r" finding="absolute" line="1" />
      <module_usage name="encodings.koi8_t" finding="absolute" line="1" />
      <module_usage name="encodings.koi8_u" finding="absolute" line="1" />
      <module_usage name="encodings.kz1048" finding="absolute" line="1" />
      <module_usage name="encodings.latin_1" finding="absolute" line="1" />
      <module_usage name="encodings.mac_arabic" finding="absolute" line="1" />
      <module_usage name="encodings.mac_croatian" finding="absolute" line="1" />
      <module_usage name="encodings.mac_cyrillic" finding="absolute" line="1" />
      <module_usage name="encodings.mac_farsi" finding="absolute" line="1" />
      <module_usage name="encodings.mac_greek" finding="absolute" line="1" />
      <module_usage name="encodings.mac_iceland" finding="absolute" line="1" />
      <module_usage name="encodings.mac_latin2" finding="absolute" line="1" />
      <module_usage name="encodings.mac_roman" finding="absolute" line="1" />
      <module_usage name="encodings.mac_romanian" finding="absolute" line="1" />
      <module_usage name="encodings.mac_turkish" finding="absolute" line="1" />
      <module_usage name="encodings.palmos" finding="absolute" line="1" />
      <module_usage name="encodings.ptcp154" finding="absolute" line="1" />
      <module_usage name="encodings.punycode" finding="absolute" line="1" />
      <module_usage name="encodings.quopri_codec" finding="absolute" line="1" />
      <module_usage name="encodings.raw_unicode_escape" finding="absolute" line="1" />
      <module_usage name="encodings.shift_jis" finding="absolute" line="1" />
      <module_usage name="encodings.shift_jis_2004" finding="absolute" line="1" />
      <module_usage name="encodings.shift_jisx0213" finding="absolute" line="1" />
      <module_usage name="encodings.tis_620" finding="absolute" line="1" />
      <module_usage name="encodings.undefined" finding="absolute" line="1" />
      <module_usage name="encodings.unicode_escape" finding="absolute" line="1" />
      <module_usage name="encodings.utf_16" finding="absolute" line="1" />
      <module_usage name="encodings.utf_16_be" finding="absolute" line="1" />
      <module_usage name="encodings.utf_16_le" finding="absolute" line="1" />
      <module_usage name="encodings.utf_32" finding="absolute" line="1" />
      <module_usage name="encodings.utf_32_be" finding="absolute" line="1" />
      <module_usage name="encodings.utf_32_le" finding="absolute" line="1" />
      <module_usage name="encodings.utf_7" finding="absolute" line="1" />
      <module_usage name="encodings.utf_8" finding="absolute" line="1" />
      <module_usage name="encodings.utf_8_sig" finding="absolute" line="1" />
      <module_usage name="encodings.uu_codec" finding="absolute" line="1" />
      <module_usage name="encodings.zlib_codec" finding="absolute" line="1" />
      <module_usage name="enum" finding="absolute" line="1" />
      <module_usage name="functools" finding="absolute" line="1" />
      <module_usage name="genericpath" finding="absolute" line="1" />
      <module_usage name="importlib" finding="absolute" line="1" />
      <module_usage name="importlib._bootstrap" finding="absolute" line="1" />
      <module_usage name="importlib._bootstrap_external" finding="absolute" line="1" />
      <module_usage name="importlib.machinery" finding="absolute" line="1" />
      <module_usage name="inspect" finding="absolute" line="1" />
      <module_usage name="io" finding="absolute" line="1" />
      <module_usage name="keyword" finding="absolute" line="1" />
      <module_usage name="linecache" finding="absolute" line="1" />
      <module_usage name="locale" finding="absolute" line="1" />
      <module_usage name="opcode" finding="absolute" line="1" />
      <module_usage name="operator" finding="absolute" line="1" />
      <module_usage name="os" finding="absolute" line="1" />
      <module_usage name="posixpath" finding="absolute" line="1" />
      <module_usage name="quopri" finding="absolute" line="1" />
      <module_usage name="re" finding="absolute" line="1" />
      <module_usage name="re._casefix" finding="absolute" line="1" />
      <module_usage name="re._compiler" finding="absolute" line="1" />
      <module_usage name="re._constants" finding="absolute" line="1" />
      <module_usage name="re._parser" finding="absolute" line="1" />
      <module_usage name="reprlib" finding="absolute" line="1" />
      <module_usage name="stat" finding="absolute" line="1" />
      <module_usage name="token" finding="absolute" line="1" />
      <module_usage name="tokenize" finding="absolute" line="1" />
      <module_usage name="types" finding="absolute" line="1" />
      <module_usage name="warnings" finding="absolute" line="1" />
      <module_usage name="zipimport" finding="absolute" line="1" />
      <module_usage name="zlib" finding="absolute" line="1" />
      <module_usage name="__future__" finding="absolute" line="1" />
      <module_usage name="__hello__" finding="absolute" line="1" />
      <module_usage name="__phello__" finding="absolute" line="1" />
      <module_usage name="__phello__.spam" finding="absolute" line="1" />
      <module_usage name="_aix_support" finding="absolute" line="1" />
      <module_usage name="_bootsubprocess" finding="absolute" line="1" />
      <module_usage name="_compat_pickle" finding="absolute" line="1" />
      <module_usage name="_compression" finding="absolute" line="1" />
      <module_usage name="_datetime" finding="absolute" line="1" />
      <module_usage name="_markupbase" finding="absolute" line="1" />
      <module_usage name="_osx_support" finding="absolute" line="1" />
      <module_usage name="_pickle" finding="absolute" line="1" />
      <module_usage name="_py_abc" finding="absolute" line="1" />
      <module_usage name="_pyio" finding="absolute" line="1" />
      <module_usage name="_random" finding="absolute" line="1" />
      <module_usage name="_sha512" finding="absolute" line="1" />
      <module_usage name="_sitebuiltins" finding="absolute" line="1" />
      <module_usage name="_strptime" finding="absolute" line="1" />
      <module_usage name="_struct" finding="absolute" line="1" />
      <module_usage name="_sysconfigdata__linux_x86_64-linux-gnu" finding="absolute" line="1" />
      <module_usage name="_threading_local" finding="absolute" line="1" />
      <module_usage name="_typing" finding="absolute" line="1" />
      <module_usage name="_weakrefset" finding="absolute" line="1" />
      <module_usage name="base64" finding="absolute" line="1" />
      <module_usage name="bisect" finding="absolute" line="1" />
      <module_usage name="calendar" finding="absolute" line="1" />
      <module_usage name="cgi" finding="absolute" line="1" />
      <module_usage name="cgitb" finding="absolute" line="1" />
      <module_usage name="chunk" finding="absolute" line="1" />
      <module_usage name="cmd" finding="absolute" line="1" />
      <module_usage name="code" finding="absolute" line="1" />
      <module_usage name="codeop" finding="absolute" line="1" />
      <module_usage name="colorsys" finding="absolute" line="1" />
      <module_usage name="configparser" finding="absolute" line="1" />
      <module_usage name="contextvars" finding="absolute" line="1" />
      <module_usage name="copy" finding="absolute" line="1" />
      <module_usage name="crypt" finding="absolute" line="1" />
      <module_usage name="dataclasses" finding="absolute" line="1" />
      <module_usage name="datetime" finding="absolute" line="1" />
      <module_usage name="difflib" finding="absolute" line="1" />
      <module_usage name="encodings.base64_codec" finding="absolute" line="1" />
      <module_usage name="encodings.bz2_codec" finding="absolute" line="1" />
      <module_usage name="encodings.hex_codec" finding="absolute" line="1" />
      <module_usage name="encodings.idna" finding="absolute" line="1" />
      <module_usage name="encodings.rot_13" finding="absolute" line="1" />
      <module_usage name="fcntl" finding="absolute" line="1" />
      <module_usage name="filecmp" finding="absolute" line="1" />
      <module_usage name="fileinput" finding="absolute" line="1" />
      <module_usage name="fnmatch" finding="absolute" line="1" />
      <module_usage name="ftplib" finding="absolute" line="1" />
      <module_usage name="getopt" finding="absolute" line="1" />
      <module_usage name="gettext" finding="absolute" line="1" />
      <module_usage name="glob" finding="absolute" line="1" />
      <module_usage name="graphlib" finding="absolute" line="1" />
      <module_usage name="gzip" finding="absolute" line="1" />
      <module_usage name="heapq" finding="absolute" line="1" />
      <module_usage name="html" finding="absolute" line="1" />
      <module_usage name="html.entities" finding="absolute" line="1" />
      <module_usage name="html.parser" finding="absolute" line="1" />
      <module_usage name="imaplib" finding="absolute" line="1" />
      <module_usage name="imghdr" finding="absolute" line="1" />
      <module_usage name="imp" finding="absolute" line="1" />
      <module_usage name="importlib._abc" finding="absolute" line="1" />
      <module_usage name="importlib.abc" finding="absolute" line="1" />
      <module_usage name="importlib.metadata" finding="absolute" line="1" />
      <module_usage name="importlib.metadata._adapters" finding="absolute" line="1" />
      <module_usage name="importlib.metadata._collections" finding="absolute" line="1" />
      <module_usage name="importlib.metadata._functools" finding="absolute" line="1" />
      <module_usage name="importlib.metadata._itertools" finding="absolute" line="1" />
      <module_usage name="importlib.metadata._meta" finding="absolute" line="1" />
      <module_usage name="importlib.metadata._text" finding="absolute" line="1" />
      <module_usage name="importlib.readers" finding="absolute" line="1" />
      <module_usage name="importlib.resources" finding="absolute" line="1" />
      <module_usage name="importlib.resources._adapters" finding="absolute" line="1" />
      <module_usage name="importlib.resources._common" finding="absolute" line="1" />
      <module_usage name="importlib.resources._itertools" finding="absolute" line="1" />
      <module_usage name="importlib.resources._legacy" finding="absolute" line="1" />
      <module_usage name="importlib.resources.abc" finding="absolute" line="1" />
      <module_usage name="importlib.resources.readers" finding="absolute" line="1" />
      <module_usage name="importlib.resources.simple" finding="absolute" line="1" />
      <module_usage name="importlib.simple" finding="absolute" line="1" />
      <module_usage name="importlib.util" finding="absolute" line="1" />
      <module_usage name="ipaddress" finding="absolute" line="1" />
      <module_usage name="json" finding="absolute" line="1" />
      <module_usage name="json.decoder" finding="absolute" line="1" />
      <module_usage name="json.encoder" finding="absolute" line="1" />
      <module_usage name="json.scanner" finding="absolute" line="1" />
      <module_usage name="mailcap" finding="absolute" line="1" />
      <module_usage name="math" finding="absolute" line="1" />
      <module_usage name="mimetypes" finding="absolute" line="1" />
      <module_usage name="modulefinder" finding="absolute" line="1" />
      <module_usage name="netrc" finding="absolute" line="1" />
      <module_usage name="nturl2path" finding="absolute" line="1" />
      <module_usage name="numbers" finding="absolute" line="1" />
      <module_usage name="pathlib" finding="absolute" line="1" />
      <module_usage name="pickle" finding="absolute" line="1" />
      <module_usage name="pickletools" finding="absolute" line="1" />
      <module_usage name="pipes" finding="absolute" line="1" />
      <module_usage name="pkgutil" finding="absolute" line="1" />
      <module_usage name="platform" finding="absolute" line="1" />
      <module_usage name="poplib" finding="absolute" line="1" />
      <module_usage name="pprint" finding="absolute" line="1" />
      <module_usage name="pstats" finding="absolute" line="1" />
      <module_usage name="pyclbr" finding="absolute" line="1" />
      <module_usage name="rlcompleter" finding="absolute" line="1" />
      <module_usage name="sched" finding="absolute" line="1" />
      <module_usage name="shlex" finding="absolute" line="1" />
      <module_usage name="shutil" finding="absolute" line="1" />
      <module_usage name="signal" finding="absolute" line="1" />
      <module_usage name="sndhdr" finding="absolute" line="1" />
      <module_usage name="socketserver" finding="absolute" line="1" />
      <module_usage name="sre_compile" finding="absolute" line="1" />
      <module_usage name="sre_constants" finding="absolute" line="1" />
      <module_usage name="sre_parse" finding="absolute" line="1" />
      <module_usage name="string" finding="absolute" line="1" />
      <module_usage name="stringprep" finding="absolute" line="1" />
      <module_usage name="struct" finding="absolute" line="1" />
      <module_usage name="symtable" finding="absolute" line="1" />
      <module_usage name="sysconfig" finding="absolute" line="1" />
      <module_usage name="tarfile" finding="absolute" line="1" />
      <module_usage name="threading" finding="absolute" line="1" />
      <module_usage name="timeit" finding="absolute" line="1" />
      <module_usage name="tomllib" finding="absolute" line="1" />
      <module_usage name="tomllib._parser" finding="absolute" line="1" />
      <module_usage name="tomllib._re" finding="absolute" line="1" />
      <module_usage name="tomllib._types" finding="absolute" line="1" />
      <module_usage name="trace" finding="absolute" line="1" />
      <module_usage name="traceback" finding="absolute" line="1" />
      <module_usage name="tracemalloc" finding="absolute" line="1" />
      <module_usage name="typing" finding="absolute" line="1" />
      <module_usage name="unicodedata" finding="absolute" line="1" />
      <module_usage name="uu" finding="absolute" line="1" />
      <module_usage name="weakref" finding="absolute" line="1" />
      <module_usage name="webbrowser" finding="absolute" line="1" />
      <module_usage name="xdrlib" finding="absolute" line="1" />
      <module_usage name="zipfile" finding="absolute" line="1" />
    </module_usages>
  </module>
  <module name="sco.config_setup" kind="CompiledPythonModule" usage="import" reason="Instructed by user to follow to all modules." source_path="${cwd}/sco/config_setup.py">
    <module_usages>
      <module_usage name="json" finding="absolute" line="1" />
      <module_usage name="httpx" finding="absolute" line="2" />
    </module_usages>
  </module>
  <performance>
    <memory_usage name="after_launch" value="51326976" />
  </performance>
  <data_composer blob_size="None" />
  <command_line>
    <option value="--onefile" />
    <option value="main.py" />
  </command_line>
  <plugins>
    <plugin name="anti-bloat" user_enabled="no" />
    <plugin name="data-files" user_enabled="no" />
    <plugin name="delvewheel" user_enabled="no" />
    <plugin name="dll-files" user_enabled="no" />
    <plugin name="eventlet" user_enabled="no" />
    <plugin name="gevent" user_enabled="no" />
    <plugin name="gi" user_enabled="no" />
    <plugin name="glfw" user_enabled="no" />
    <plugin name="implicit-imports" user_enabled="no" />
    <plugin name="kivy" user_enabled="no" />
    <plugin name="matplotlib" user_enabled="no" />
    <plugin name="multiprocessing" user_enabled="no" />
    <plugin name="options-nanny" user_enabled="no" />
    <plugin name="pbr-compat" user_enabled="no" />
    <plugin name="pkg-resources" user_enabled="no" />
    <plugin name="pywebview" user_enabled="no" />
    <plugin name="transformers" user_enabled="no" />
  </plugins>
  <distributions />
  <python python_exe="${sys.prefix}/bin/python" python_flavor="Unknown" python_version="3.11.9" os_name="Linux" os_release="Debian-11" arch_name="x86_64">
    <search_path>
      <path value="${cwd}" />
      <path value="${sys.prefix}/lib/python3.11" />
      <path value="${sys.prefix}/lib/python3.11/lib-dynload" />
      <path value="${sys.prefix}/lib/python3.11/site-packages" />
    </search_path>
  </python>
  <output run_filename="${cwd}/main.bin" />
</nuitka-compilation-report>

from nuitka.

bjpietrzak avatar bjpietrzak commented on September 23, 2024

Ok I have solved this error. Just renamed file /usr/local/lib/python3.11/site-packages/cv2/config-3.11.py to config-3.py.

I have also found a workaround for my use case. To reiterate I wanted to just combine all my project files into one binary executable, without having to put into it every external library that I was using. This is the workaround:

python -m python -m nuitka --onefile \
                           --nofollow-import-to=cv2 \
                           --nofollow-import-to=numpy \
                           --nofollow-import-to=fastapi \
                           --nofollow-import-to=httpx \
                           --nofollow-import-to=pandas \
                           --nofollow-import-to=pillow \
                           --nofollow-import-to=portalocker \
                           main.py

Is there a more elegant way to implement this in Nuitka?

from nuitka.

kayhayen avatar kayhayen commented on September 23, 2024

In accelerate mode, mixing compiled modules with extension modules is not working well yet, use standalone then it will be fine, and don't follow third party modules that have this. Using Debian Python packages is also warned about. I was not aware that it will cause a crash with Debian package cv2, but it's not advised to do it like that anyway.

from nuitka.

bjpietrzak avatar bjpietrzak commented on September 23, 2024

Great, thanks. I was actually building opencv from source. However the opencv installed with pip also didn't work.

from nuitka.

kayhayen avatar kayhayen commented on September 23, 2024

For accelerated mode, I think it would not. The use of <distributions /> should be telling indeed. I am going to make the detection of the config3.py more resiliant, also checking for a file with a minor Python version. Self compiled distributions are not very likely to work in all cases, nor really am I too intent on supporting them without a ready served test case or excellent report.

from nuitka.

bjpietrzak avatar bjpietrzak commented on September 23, 2024

Thank you for the clarification, and for the project you are building :). It's a great tool. I've tried to do the same with just Cython... it's a mess, and pyinstaller creates bigger executables. Great job!

from nuitka.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.