ImportError: ไม่มีโมดูลชื่อ six


107

ฉันกำลังพยายามสร้างโครงการ OpenERP โดยใช้การอ้างอิง ตอนนี้ให้ข้อผิดพลาดนี้

Traceback (most recent call last):
  File "openerp-client.py", line 105, in <module>
  File "modules\__init__.pyo", line 23, in <module>
  File "modules\gui\__init__.pyo", line 22, in <module>
  File "modules\gui\main.pyo", line 33, in <module>
  File "rpc.pyo", line 29, in <module>
  File "common\__init__.pyo", line 22, in <module>
  File "common\common.pyo", line 26, in <module>
  File "tools\__init__.pyo", line 28, in <module>
  File "dateutil\relativedelta.pyo", line 12, in <module>
ImportError: No module named six

มีใครช่วยชี้แนะสิ่งที่ผิดพลาดและแก้ไขได้อย่างไร ???


ในกรณีที่หกถูกเก็บไว้ใน Python เวอร์ชันที่ไม่ถูกต้องโปรดดูที่ [kludge] [1] [1] ของฉัน
พรุน

คำตอบ:


142

คุณอาจไม่ได้sixติดตั้งโมดูล Python คุณสามารถค้นหาได้ในpypi

ในการติดตั้ง:

$ easy_install six

(หากคุณpipติดตั้งให้ใช้pip install sixแทน)


7
ฉันขอโทษ แต่นี่เป็นคำตอบที่ขาดหายไปมาก เหตุใดโมดูล pip จำนวนมากจึงไม่ติดตั้งการอ้างอิง
swade

1
ฉันไม่รู้ว่าทำไมโมดูล python บางตัวแสดงรายการการอ้างอิงไม่ถูกต้อง บางทีผู้เขียนอาจไม่ได้ทดสอบการติดตั้งโมดูลใน chroot เพื่อตรวจสอบว่าการอ้างอิงนั้นถูกต้อง
Sylvain Defresne

ฉันต้องการมันใน Pipfile สำหรับเว็บแอป ฉันใช้pipenv install six.
Blaskovicz

@StevenWade สำหรับฉันฉันพบว่านั่นpip install git+...คือผู้ร้าย; ไม่มีการติดตาม การติดตั้งเวอร์ชัน pypi การถอนการติดตั้งและจากนั้นการติดตั้งเวอร์ชัน git + ดึงการอ้างอิงที่จำเป็นแม้ว่าจะดูงี่เง่า
tsbertalan

1
บน Ubuntu สำหรับ Python 2.7 ฉันติดตั้งด้วยsudo apt install python-sixไฟล์. ขอบคุณ!
wjandrea

40

หากติดตั้ง pip "ระบุว่า" six แล้ว แต่คุณยังได้รับ:

ImportError: No module named six.moves

ลองติดตั้งใหม่อีกครั้ง (ใช้ได้กับฉัน):

pip uninstall six
pip install six

อย่างที่คุณบอกฉันสามารถแก้ไขปัญหาได้หลังจากติดตั้งใหม่หก ขอบคุณ!
เดียว

สำหรับฉันด้วย ... ฉันติดตั้งแพ็คเกจแล้ว แต่ software-properties-gtk ล้มเหลว ในที่สุดฉันก็ตรวจสอบพบข้อผิดพลาดในการนำเข้าในหกข้อ ติดตั้งแพคเกจ python3-six แล้ว แต่โมดูลไม่โหลด ฉันติดตั้งโมดูลใหม่ด้วย apt และแก้ไขปัญหาแล้ว
Tim Richardson

เป็นประโยชน์มาก ขอบคุณ.
keramat

22

บน Ubuntu และ Debian

apt-get install python-six

เคล็ดลับไม่

ใช้sudo apt-get install python-sixหากคุณได้รับข้อผิดพลาดว่า "ปฏิเสธการอนุญาต"



3

ฉันทำสิ่งต่อไปนี้เพื่อแก้ปัญหาดังกล่าว ฉันได้รับปัญหาดังกล่าวเมื่อฉันพยายามเรียกใช้ exe ที่สร้างขึ้นแม้ว่าฉันจะสร้าง exe โดยใช้ pyinstaller ได้สำเร็จ ฉันทำสิ่งนี้บน Windows 10

  1. ไปที่https://pypi.org/project/six/#files
  2. ดาวน์โหลด "six-1.14.0.tar.gz (33.9 kB)"
  3. แตกไฟล์คัดลอกและวาง "six.py" ลงในไดเร็กทอรีต้นทางของคุณ
  4. นำเข้าโมดูล "หก" ลงในซอร์สโค้ดของคุณ (นำเข้าหก)
  5. เรียกใช้สคริปต์ต้นทาง


2

บน Ubuntu Bionic (18.04) มีการติดตั้งหกตัวสำหรับ python2 และ python3 แล้ว แต่ฉันมีข้อผิดพลาดในการเรียกใช้ Wammu @ 3ygun วิธีแก้ปัญหาให้ฉันแก้

ImportError: No module named six

เมื่อเปิดตัว Wammu

หากเกิดขึ้นสำหรับโปรแกรม python3 หกมาพร้อมกับ

pip3 install six

และหากคุณไม่มี pip3:

apt install python3-pip

ด้วยsudoภายใต้ Ubuntu!


1

ในกรณีของฉันมีการติดตั้งหกตัวสำหรับ python 2.7 และ 3.7 ด้วยและทั้งสองอย่างpip install sixและpip3 install sixรายงานว่าติดตั้งแล้วในขณะที่ฉันยังมีแอพ (โดยเฉพาะโปรแกรม apt เอง) บ่นว่าหายไปหกตัว

วิธีแก้ปัญหาคือการติดตั้งสำหรับ python3.6 โดยเฉพาะ:

/usr/bin/python3.6 -m pip install six
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.