12

Linux SSH セキュア シェル コマンド ライン環境から python スクリプトを実行しようとしています。また、argparse ライブラリをインポートしようとしていますが、「ImportError: argparse という名前のモジュールがありません」というエラーが表示されます。

これは、Linux シェルが使用している Python 環境に argparse ライブラリが含まれていないためだと思います。Python 環境で使用されているライブラリのディレクトリを見つけることができれば、修正できると思います。 argparse ライブラリをそこにコピーしますが、そのディレクトリがどこにあるのかわかりません。

このディレクトリを見つけるための助けをいただければ幸いです (今のところ、argparse ライブラリを python スクリプトと同じディレクトリに含めることができると思いますが、他の Python ライブラリがある場所に argparse ライブラリを配置することをお勧めします。である必要があります)。

4

5 に答える 5

6

argparseモジュールはPython2.7で追加されました 。http://docs.python.org/library/argparse.html

2.7より前は、コマンドライン引数を処理する最も一般的な方法はおそらくgetoptでした。 http://docs.python.org/library/getopt.html

もちろん、を見るだけでいつでも手動でコマンドラインを処理できますsys.argv。ただしgetopt、これは優れた抽象化レイヤーであり、argparseさらに優れています。

argparse古い環境(議論の余地がある)で 本当に必要な場合は、それを維持するGoogle Codeプロジェクトがあり、それをプロジェクトに含めることができます。http://code.google.com/p/argparse/

于 2011-09-19T19:15:31.810 に答える
2

Centos 6 のデフォルトの Python 2.6.6 を使用している場合は、パッケージを手動で追加するだけです

yum install python-argparse

IPython を動作させるのにかかったのはそれだけです。YUMを使用してIPythonをインストールしたときに、YUMが自動的にインストールしなかったのは奇妙です。

于 2014-10-20T18:56:13.970 に答える
2

CentOS を使用していて、Python 2.7 に簡単にアクセスできる RPM がない場合は、JF の提案に従ってpip install argparseください。新しい回答でこのソリューションを呼び出します。ありがとう、JF。

于 2012-04-04T16:50:18.813 に答える
1

モジュールの検索パスは、次の方法で調べることができます。

import sys
print "\n".join(sys.path)

しかし、argparse がないのは奇妙です。それは標準ライブラリにあります...

于 2011-09-19T15:49:45.260 に答える
0

古いバージョンの Python を使用している可能性があります。

argparse モジュールはごく最近、Python 2.7 で追加されました。

于 2011-09-19T16:15:14.587 に答える