0

manage.py shell私の django プロジェクトでは、bpython を利用するための単純な置き換えを書きたかったのです。基本的には、実行してsetup_environ(settings)いくつかの共通モデル (ユーザーなど) をインポートするだけです。

いずれにせよ、実行するとすべて正常に動作しますbpython -i bshell.py(私のスクリプトの名前は bshel​​l.py です)。それから私は賢くなり、hashbang 行を に設定し#!/usr/bin/env bpython -iてさらにシンプルにしようと考えました。これは OSX では機能しましたが、Ubuntu (10.10) では現在機能していません。

#!/usr/bin/env python -iも機能しませんが、#!/usr/bin/env bpython機能します(ただし、明らかに対話型プロンプトにはドロップしません)。

これは小さなポイントですが、スクリプトを次のように実行できれば、私の人生の中で何百もの "bpython -i" を節約できます./bshell.py(本当に興味があるだけです)。Ubuntuで動作しない理由はありますか?

私はvirtualenvにいることに注意する必要があり、行末が* nixスタイルであることをすでに再確認しました。

4

1 に答える 1

0

ウィキペディアから:

Another portability problem is the interpretation of the command arguments. 
Some systems, including Linux, do not split up the arguments; for example, 
when running the script with the first line like,

#!/usr/bin/env python -c

That is, python -c will be passed as one argument to /usr/bin/env, 
rather than two arguments.

大したことではない場合は、bpythonを経由する代わりに への実際のパスを使用した方がよいでしょう/usr/bin/env

于 2011-08-02T04:01:52.717 に答える