2017-11-09 9 views
0

私は自分自身でPythonスクリプトを呼び出さなければならない環境で作業しています:python-2.4 -m trace -t /myscript.pyではなく./myscript.pyです。ShebangのPythonモジュールトレースを使用

だから、私は以下のようにシェバングで引数を追加しよう:

#!/usr/bin/python-2.4 -m trace -t 

print "HELLO" 

print "HW" 

しかし、私は以下のエラーメッセージが表示されました:

/usr/bin/python-2.4: module trace -t not found

が、それはPythonで可能ですか?私はスクリプト内でこのトレースモジュールを扱いたくありません。

+0

あなたは13年前のバージョンのPythonを持っており、シェル自体の内部でインタプリタ名を使わずにファイルを直接実行する必要がありますか? –

+0

残念ながら、私はPython 2.4のみを扱うWebアプリケーションに取り組んでいます。 – madago

答えて

1

これは、ほとんどのプラットフォーム、特にLinuxでは単純に行うことはできません。 POSIX標準では、シバンがサポートするコマンドラインオプションは1つだけです。これは、引数が切り捨てられることを意味しますが、引用符で囲まれているかのように、すべてのオプションが単一のオプションとして渡されることもあります。

これを達成する最も簡単な方法は、追加のラッパーを作成することです。たとえば、

#!/bin/bash 
/usr/bin/python-2.4 -m trace -t ./myscript.py 
+0

ありがとうございますが、環境でシェルスクリプトを使用することはできません。ただし、Python 2.4のみが利用可能です。 – madago

関連する問題