Я хочу использовать pyinstaller, делают пакет в человечности 16.04. ENV Python создается conda который python=3.6.8.
Когда я выполняю pyinstaller ниже ошибки occour. Я знаю, что ubuntu16.04 имеет python3.5, почему python3.6-dev не может установить?
27087 INFO: Looking for eggs
27087 INFO: Python library not in binary dependencies. Doing additional searching...
Traceback (most recent call last):
File "/home/bibao/miniconda3/envs/labelmecs_pack_server/bin/pyinstaller", line 10, in <module>
sys.exit(run())
File "/home/bibao/miniconda3/envs/labelmecs_pack_server/lib/python3.6/site-packages/PyInstaller/__main__.py", line 111, in run
run_build(pyi_config, spec_file, **vars(args))
File "/home/bibao/miniconda3/envs/labelmecs_pack_server/lib/python3.6/site-packages/PyInstaller/__main__.py", line 63, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File "/home/bibao/miniconda3/envs/labelmecs_pack_server/lib/python3.6/site-packages/PyInstaller/building/build_main.py", line 838, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File "/home/bibao/miniconda3/envs/labelmecs_pack_server/lib/python3.6/site-packages/PyInstaller/building/build_main.py", line 784, in build
exec(text, spec_namespace)
File "<string>", line 23, in <module>
File "/home/bibao/miniconda3/envs/labelmecs_pack_server/lib/python3.6/site-packages/PyInstaller/building/build_main.py", line 241, in __init__
self.__postinit__()
File "/home/bibao/miniconda3/envs/labelmecs_pack_server/lib/python3.6/site-packages/PyInstaller/building/datastruct.py", line 158, in __postinit__
self.assemble()
File "/home/bibao/miniconda3/envs/labelmecs_pack_server/lib/python3.6/site-packages/PyInstaller/building/build_main.py", line 573, in assemble
self._check_python_library(self.binaries)
File "/home/bibao/miniconda3/envs/labelmecs_pack_server/lib/python3.6/site-packages/PyInstaller/building/build_main.py", line 676, in _check_python_library
raise IOError(msg)
OSError: Python library not found: libpython3.6mu.so.1.0, libpython3.6m.so.1.0, libpython3.6.so.1.0
This would mean your Python installation doesn't come with proper library files.
This usually happens by missing development package, or unsuitable build parameters of Python installation.
* On Debian/Ubuntu, you would need to install Python development packages
* apt-get install python3-dev
* apt-get install python-dev
* If you're building Python by yourself, please rebuild your Python with `--enable-shared` (or, `--enable-framework` on Darwin)
Попытка следует за последней строкой сообщения:
* If you're building Python by yourself, please rebuild your Python with `--enable-shared` (or, `--enable-framework` on Darwin)
Очевидно, восстановите свой Python ./configure --enable-shared
и удостоверьтесь эти $LD_LIBRARY_PATH
, действительно включает Ваш путь python3.6/lib. Скажите, установлен ли Ваш python3.6.8 в/home/bibao/python3.6, чем использование export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/bibao/python3.6/lib
для добавления ПУТИ.
я не использую conda., но я думаю, что можно использовать find
, чтобы найти путь Python или просто создать python3.6.8 один для упаковки использования, даже последний не достаточно изящен.