web-dev-qa-db-ja.com

/ usr / local / bin / python3:不正なインタープリター:ubuntu 14.04用のそのようなファイルまたはディレクトリはありません

こんにちはMy pythonインストールは別のディレクトリにあり、Macベースのdockerイメージを使用しています。Shellスクリプトの他のフォルダからShebang行を/ user/local/bin/python3として参照しています。

my 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']
>>> 

このエラーから抜け出すために、python3のインストールにリダイレクトまたはリンクできるShebang行を変更せずに方法があります。

指定されたパスにpython3をインストールすることをお勧めします。 ?

ご意見をお聞かせください。

8
Karn_way

ファイルのシバンを変更できず、Dockerイメージを作成するDockerfileにアクセスできる場合は、コマンドディレクティブを追加してシンボリックリンクを作成できます:ln -s /usr/bin/python3 /usr/local/bin/。 Dockerfileにアクセスできない場合。次に、実行中のdockerインスタンス内から上記のコマンドを実行できます。これにより、ファイルを変更せずに問題を解決できます。

https://docs.docker.com/engine/reference/builder/#cmd

1
xmonk

Shebangを通常どおり「/ usr/bin/env python」に設定し、適切なバージョンをpythonが実行可能ファイルのパス上にあるように適切に設定します。bashでは次を使用してコマンドラインでパスを設定できます。

_PATH=python/path:$PATH app
_

私は時々、どのpythonインタープリターが実行されているか)を制御するために、Shebangを無視してpython/path/python $(which app)と入力します。

0
Neapolitan