/usr / local/bin / python3: плохой интерпретатор: нет такого файла или каталога для ubuntu 14.04
Hi моя установка python находится в другом каталоге, и я использую образ docker, который основан на mac, и он ссылается на строку shebang как /user/local/bin/python3 из другой папки в скрипте оболочки .
мой путь установки python
Python 3.4.3 (default, Oct 14 2015, 20:28:29)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/home/myuser/project', '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', '/usr/lib/python3.4/lib-dynload', '/usr/local/lib/python3.4/dist-packages', '/usr/lib/python3/dist-packages']
>>>
так есть способ без изменения строки shebang я могу перенаправить или ссылку на мою установку python3, чтобы выйти из этой ошибки.
рекомендуется ли устанавливать python3 по заданному пути. ?
пожалуйста, советом.
2 ответов
Если вы не можете изменить shebang файла, и у вас есть доступ к файлу Dockerfile, который создает образ docker, вы можете добавить директиву команды для создания символической ссылки:ln -s /usr/bin/python3 /usr/local/bin/
.
Если у вас нет доступа к Dockerfile. Затем вы можете запустить вышеуказанную команду из запущенного экземпляра docker. Это должно решить вашу проблему, не изменяя файл.
вы можете установить shebang в "/usr/bin / env python", как обычно, а затем установить свой путь соответствующим образом, чтобы правильная версия python была на пути к исполняемому файлу. В bash вы можете установить путь в командной строке, используя:
PATH=python/path:$PATH app
Я иногда буду игнорировать shebang и введите python/path/python $(which app)
для управления тем, какой интерпретатор python работает.