ไม่มีโมดูลชื่อ rpm - เมื่อฉันเรียก yum บนเชลล์

ฉันติดตั้ง python 2.7.5 และ mod_wsgi บน centos machine linux os และสิ่งนี้ก็เกิดขึ้น:

# yum
Error processing line 1 of /usr/local/lib/python2.7/site-packages/abrt.pth:

  Traceback (most recent call last):
    File "/usr/local/lib/python2.7/site.py", line 152, in addpackage
      exec line
    File "<string>", line 1, in <module>
  ImportError: No module named abrt_exception_handler

Remainder of file ignored
Traceback (most recent call last):
  File "/usr/bin/yum", line 22, in <module>
    import yummain
  File "/usr/share/yum/yummain.py", line 22, in <module>
    import clientStuff
  File "/usr/share/yum/clientStuff.py", line 18, in <module>
    import rpm
ImportError: No module named rpm

โมดูล yum ไม่ทำงานเนื่องจากไม่มีโมดูล rpm ฉันไม่รู้ว่าจะติดตั้งโมดูล python-rpm ได้อย่างไร และจะใช้งานได้หรือไม่หากติดตั้ง

ขอบคุณ.


person u.unver34    schedule 05.07.2013    source แหล่งที่มา
comment
/usr/local/lib ฟังผิด คุณมีโอกาสเปลี่ยน python ของระบบของคุณหรือไม่? นั่นมักจะเป็นความคิดที่ไม่ดี   -  person mata    schedule 05.07.2013
comment
จริงๆ แล้ว ใช่ ฉันได้เปลี่ยนเวอร์ชันของ Python ที่ใช้งานอยู่แล้ว ติดตั้ง Python 2.6 ก่อนและหลังฉันติดตั้ง 2.7.5 ไปที่ /usr/local/lib และฉันต้องการใช้เวอร์ชันนี้กับ mod_wsgi ดังนั้นฉันจึงเปลี่ยน hardlink /usr/bin/python › /usr/local/bin/python หรืออะไรทำนองนั้น   -  person u.unver34    schedule 05.07.2013
comment
นอกจากนี้ ฉันได้คัดลอกไดเร็กทอรีโมดูลบางส่วนจาก /usr/lib/python2.6/lib/site-packages ไปยัง /usr/local/lib/python2.7/site-packages ตอนนี้ฉันต้องการสร้างระบบ python ทั้งหมดบน linux ใหม่ ฉันจะลบและติดตั้ง python ใหม่เป็น python 2.7 ได้อย่างไร   -  person u.unver34    schedule 05.07.2013
comment
คุณแก้ปัญหานี้แล้วหรือยัง? ฉันก็มีเหมือนกัน..   -  person harunyardimci    schedule 24.10.2013
comment
เราได้เปลี่ยนเครื่องเซิร์ฟเวอร์   -  person u.unver34    schedule 09.12.2013


คำตอบ (2)


คุณไม่ควรสัมผัสการติดตั้งหลามของระบบของคุณ การอัปเดตเวอร์ชัน python ของระบบควรปล่อยให้เป็นการแจกจ่าย

หากคุณต้องการเวอร์ชันที่ใหม่กว่า ให้ติดตั้ง แต่ให้แยกจากเวอร์ชันของระบบ

คุณควรคืนค่า /usr/bin/python ดั้งเดิม - โดยปกติจะเป็นลิงก์สัญลักษณ์ (ในกรณีนี้คือ /usr/bin/python2.6

คุณอาจต้องการลบและติดตั้ง python2.7 ใหม่ เนื่องจากการคัดลอกโมดูล (โดยเฉพาะหากมีส่วนขยายไบนารี) จากเวอร์ชันหนึ่งไปยังอีกเวอร์ชันหนึ่งอาจทำให้เกิดปัญหาได้ ติดตั้งแพ็คเกจที่คุณต้องการโดยตรงโดยใช้เวอร์ชันหลามใหม่:

python2.7 setup.py ...

หากคุณต้องการให้ mod_wsgi ใช้เวอร์ชันที่ใหม่กว่า ให้ใช้คำสั่ง WSGIPythonHome เพื่อ ชี้ไปที่คำนำหน้าขวา (/usr/local)

person mata    schedule 05.07.2013

ฉันมีปัญหาที่คล้ายกัน สิ่งที่ฉันทำคือดาวน์โหลด python เวอร์ชันเก่าด้วยตนเองและติดตั้งใหม่ด้วย rpm:

$ rpm -qa | grep python- | grep 2.6
$ sudo rpm -ivh --force ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/6.5/x86_64/updates/fastbugs/python-2.6.6-52.el6.x86_64.rpm

หลังจากติดตั้ง python ใหม่ yum ของฉันก็ทำงานได้อย่างถูกต้อง

person Shumin Guo    schedule 18.08.2014