นี่เป็นคำถามยอดนิยมอย่างแท้จริงที่ SO แต่ไม่มีคำตอบมากมายที่ฉันได้ดูอธิบายอย่างชัดเจนว่าข้อผิดพลาดนี้หมายถึงอะไรและเหตุใดจึงเกิดขึ้น
สาเหตุหนึ่งของความสับสนคือเมื่อคุณทำ (เช่น) คุณจะpip install pycparser
ได้รับข้อผิดพลาดก่อน:
Failed building wheel for pycparser
ซึ่งตามด้วยข้อความว่าแพ็คเกจคือ:
Successfully installed pycparser-2.19
.
# pip3 install pycparser
Collecting pycparser
Using cached https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz
Building wheels for collected packages: pycparser
Running setup.py bdist_wheel for pycparser ... error
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-g_v28hpp/pycparser/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-__w_f6p0 --python-tag cp36:
Traceback (most recent call last):
File "<string>", line 1, in <module>
...
File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2349, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
ModuleNotFoundError: No module named 'wheel.bdist_wheel'
----------------------------------------
Failed building wheel for pycparser
Running setup.py clean for pycparser
Failed to build pycparser
Installing collected packages: pycparser
Running setup.py install for pycparser ... done
Successfully installed pycparser-2.19
เกิดขึ้นที่นี่คืออะไร?
(ฉันอยากจะเข้าใจว่ามีบางอย่างล้มเหลวได้อย่างไร แต่ยังได้รับการติดตั้งและคุณสามารถเชื่อถือได้ว่าแพ็คเกจนี้ทำงานได้ถูกต้องหรือไม่?)
pip
ไม่พบล้อสำหรับความต้องการมันจะดาวน์โหลด source dist และพยายามสร้างวงล้อจากในเครื่อง เมื่อประสบความสำเร็จล้อจะถูกเก็บไว้ในpip
แคชสำหรับการติดตั้งใหม่ในอนาคต เมื่อการสร้างล้อล้มเหลวให้pip
เปลี่ยนไปใช้การติดตั้งแบบเดิมจากต้นทาง dist (เรียกใช้python setup.py install
)