2011-09-19 15 views
12

Linux SSH Secure Shell komut satırı ortamından bir python komut dosyasını çalıştırmaya çalışıyorum ve argparse kitaplığını içe aktarmaya çalışıyorum ancak hata veriyor: "ImportError: Argparse adlı bir modül yok" .argparse Python modülleri cli'de

Bunun sebebi, Linux kabuğunun kullandığı Python ortamının içinde argparse kütüphanesine sahip olmamasıdır ve sanırım kütüphaneler için kullanılan kütüphaneler için dizinleri bulabilirsem düzeltebilirim. Python ortamını ve argparse kütüphanesini içine kopyalayın, ancak bu dizinin bulunduğu yeri bulamıyorum.

Bu dizini bulmayla ilgili herhangi bir yardım için minnettarım. (Şu anda argparse kütüphanesini python betiğimle aynı dizine ekleyebilirim, fakat diğer Python kitaplıklarının olduğu yerde argparse kütüphanesine sahip olmayı çok isterim) olması gerektiği gibi). Muhtemelen Python eski bir sürümünü kullanıyorsanız ...

+0

argparse.py oldukça standart bir python parçasıdır, sys.path'inizi bozmuş olabilirsiniz. Lütfen bu komutu çalıştırın ve sonucu sorunuza yapıştırın: python -c "import argparse; print argparse" –

+1

Hangi python sürümünü kullanıyorsunuz? –

+2

hangi dağıtımdasınız? – myusuf3

cevap

1

Sen ile modülleri için arama yolunu inceleyebilirsiniz:

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

Ama olmamasından argparse garip .

Argparse modülü yakın bir tarihte Python 2.7'de eklenmiştir. Python 2.7'de argparse modülü

+0

Standart libta 2.7'ye kadar değil. Detaylar için cevabımı görün. – dkamins

0

standart kütüphanesinde bulunuyor:

6
modülü eklenmiştir. http://docs.python.org/library/argparse.html

2.7'den önce, komut satırı argümanlarını işlemenin en yaygın yolu muhtemelen getopt idi. http://docs.python.org/library/getopt.html

Tabii ki, komut satırını her zaman el ile sys.argv'a bakmanız yeterlidir. Bununla birlikte, getopt, iyi bir soyutlama tabakasıdır ve argparse daha da iyidir.

Eski ortamlarda argparse'a gerçekten ihtiyacınız varsa (tartışılabilir), bunu sürdüren bir Google Code projesi vardır ve bunu projenize dahil edebilirsiniz. http://code.google.com/p/argparse/

+4

2.7'den önce, ['optparse'] (http://docs.python.org/library/optparse.html) modülü kullanılabilir veya' pip argparse 'kurabilir. – jfs

+0

"pip" nasıl yükleyebilirim? – greg

+0

@greg 'pip 'içeren' virtualenv' kullanabilirsiniz – dkamins

2

Eğer CentOS üzerindeyseniz ve Python 2.7'ye ulaşmak için kolay bir RPM değeriniz yoksa, JF'nin pip install argparse önerisi gitmenin yoludur. Bu çözümü yeni bir cevapla cevaplamak. Sağol JF. senin Centos 6 varsayılan Python 2.6.6

yum install python-argparse 

kullanıyorsanız

2

Sadece Thats benim için aldı tüm ipython işe almak için elle paketi ekleyin. IPUM'u yüklemek için YUM kullandığımda YUM'un otomatik olarak yüklemediği garipti.

İlgili konular