2017-10-31 27 views
0

シェルで実行されるpython 2.7 numpyスクリプトを持っています(これはPython 2.7.13です)。ここでは、コードです:linux python numpyスクリプトはシェルで実行されますが、端末では実行されません。

import numpy 

def main(): 
    print numpy.__version__ 

私はPythonシェルからこれを実行すると、私はこれを取得:

$ python 
Python 2.7.13 (default, Sep 5 2017, 08:53:59) 
[GCC 7.1.1 20170622 (Red Hat 7.1.1-3)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import numpy 
>>> print numpy.__version__ 
1.12.1 
>>> 

私はターミナルでコマンドを実行しようとすると、私はこれを取得:

$ python simple_example.py 
$ 

コードは実行されますが、インポートエラーはありません。

誰かが助けてくれますか?これは私をナットにしている! My $ PYTHONPATH環境変数は次のとおりです。

$ echo $PYTHONPATH 
:/usr/lib/python27.zip:/usr/lib64/python2.7:/usr/lib64/python2.7/plat- 
linux2:/usr/lib64/python2.7/lib-tk:/usr/lib64/python2.7/lib- 
old:/usr/lib64/python2.7/lib-dynload:/usr/lib64/python2.7/site- 
packages:/usr/lib64/python2.7/site-packages/gtk- 
2.0:/usr/lib/python2.7/sitepackages:/usr/lib/python27.zip: 
/usr/lib64/pytho 
n2.7:/usr/lib64/python2.7/p 
lat-linux2:/usr/lib64/python2.7/lib-tk:/usr/lib64/python2.7/lib- 
old:/usr/lib64/python2.7/lib-dynload:/usr/lib64/python2.7/site- 
packages:/usr/lib64/python2.7/site-packages/gtk- 
2.0:/usr/lib/python2.7/site-packages 
+0

は 'のpython -cの出力と比較し、 "インポートSYS、印刷のsys.path" ターミナルで'。 – percusse

+0

ターミナルで実行するとどのような出力が期待されますか? –

答えて

0

プログラムは何も出力しません。

私はmain()が暗黙に呼び出されると思うと思う。ならない。 main()を実行するには、それを自分で呼び出す必要があります。逆に、暗黙的に実行したいコードがある場合は、それを関数定義の中に入れないでください。

これらのいずれかを試してみてください。

import numpy 

print numpy.__version__ 

または

import numpy 

def main(): 
    print numpy.__version__ 

if __name__=="__main__": 
    main() 
+0

2番目の例がそれを行いました!おかげでロブ!私の質問は、main()の下にスニペットを追加する必要がある理由です。助言がありますか? –

+0

私は私の答えでそれを説明しようとしました。 'main()'は自動的に呼び出されません。 'main()'を動かすには、あなた自身で呼び出す必要があります。 –

関連する問題