ไม่สามารถนำเข้าโมดูลที่ติดตั้งอย่างแน่นอน


144

หลังจากติดตั้งเครื่องจักรฉันดูเหมือนจะไม่สามารถนำเข้าได้

ฉันได้พยายามติดตั้งจาก pip, easy_install และผ่านpython setup.py installจาก repo นี้: https://github.com/abielr/mechanize ทั้งหมดนี้ไม่เกิดประโยชน์เพราะทุกครั้งที่ฉันเข้าสู่ Python แบบโต้ตอบฉันจะได้รับ:

Python 2.7.3 (default, Aug  1 2012, 05:14:39) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mechanize
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named mechanize
>>> 

การติดตั้งที่ฉันวิ่งไปก่อนหน้านี้รายงานว่าพวกเขาเสร็จเรียบร้อยแล้วดังนั้นฉันจึงคาดว่าการนำเข้าจะทำงานได้ สิ่งที่อาจทำให้เกิดข้อผิดพลาดนี้?


คุณสามารถแสดงให้เราเห็นผลลัพธ์ของการวิ่งได้easy_installหรือไม่? นอกจากนี้โปรดยืนยันเส้นทางแบบเต็มของeasy_install, และpip python
larsks

คุณแน่ใจว่ามันไม่ได้ติดตั้ง 2.6 (ซึ่งเป็นค่าเริ่มต้นในอูบุนตู (อย่างน้อยก็ในเดเบียนของฉัน)?
dav1d

เอาท์พุทจากการติดตั้งง่ายแสดงให้เห็นว่าติดตั้งเป็น 2.7: ติดตั้ง /usr/local/lib/python2.7/dist-packages/mechanize-0.2.6.dev_20130112-py2.7.egg
roy

@larks - เพิ่มข้อมูลที่อยู่ในตำแหน่งเดิม
roy

ฉันได้ลองวิธีนี้ทุกอย่างแล้ว - setup.py, easy_install, pip - จาก pypi และ repo แต่ฉันไม่สามารถทำให้มันล้มเหลวได้ คุณสามารถตรวจสอบsys.pathเพื่อดูว่าคุณกำลังมองหาในสถานที่ที่เหมาะสมls -laR /usr/local/lib/python2.7/dist-packages/mech*เพื่อตรวจสอบปัญหาสิทธิ์และดูที่imp.find_module("mechanize")จะแยกแยะระหว่างข้อผิดพลาดที่ไม่สามารถหาได้และข้อผิดพลาดเอาตัวรอดไม่ได้อยู่ที่การนำเข้า?
DSM

คำตอบ:


100

ในกรณีของฉันมันเป็นปัญหาสิทธิ์ แพคเกจถูกติดตั้งอย่างใดด้วยสิทธิ์ root rw เท่านั้นผู้ใช้รายอื่นไม่สามารถ rw ได้!


26
sudo pip install ...เรื่องนี้เกิดขึ้นกับผมเพียงแค่ทำงาน แก้ไขง่าย ๆ :sudo chmod -R ugo+rX /lib/python2.7/site-packages/
jozxyqk

3
ฉันพบเจอหลายครั้งและฉันคิดว่าฉันเพิ่งค้นพบเหตุผล: umask ถูกส่งผ่าน sudo ดังนั้นถ้า umask ส่วนบุคคลของคุณแน่นและคุณใช้ sudo สำหรับการติดตั้งไฟล์และไดเรกทอรีจะถูก จำกัด มากเกินไป หากคุณเพียงแค่ su ก่อนแล้วทำการติดตั้งจากเปลือกเต็มรูทีนการติดตั้งที่ได้จะใช้งานได้ (อย่างน้อยก็สำหรับฉัน) นี่สำหรับ pip แต่อาจนำไปใช้กับ apt-get เช่นกัน หากผู้อื่นยืนยันสาเหตุนี้อาจต้องการแก้ไขคำตอบตามนั้นหรือไม่
Brandyn

การเพิ่มความคิดเห็นของ jozxyqk: ตรวจสอบให้แน่ใจว่าคุณมีไดเรกทอรีที่ถูกต้องโดยการแสดง $ pip <package_name>
Federico

2
เหมือนกับฉัน. ฉันทำงานกับ Python 3.6 บน Mac sudo chmod 777 /usr/local/lib/python3.6/site-packagesเคล็ดลับก็ทำเช่นนั้น
Antonio Serrano

3
sudo 777 นั้นเป็นความคิดที่เลวมากเสมอ
Marx

81

ฉันมีปัญหาเดียวกัน: สคริปต์ที่มีimport coloramaการขว้างปาและ ImportError แต่sudo pip install coloramaบอกฉันว่า "แพคเกจติดตั้งแล้ว"

การแก้ไขของฉัน: pip ทำงานโดยไม่ต้อง sudopip install colorama : จากนั้น pip เห็นด้วยว่าจำเป็นต้องติดตั้งติดตั้งและสคริปต์ของฉันทำงาน

สภาพแวดล้อมของฉันคือ Ubuntu 14.04 32- บิต; ฉันคิดว่าฉันเห็นสิ่งนี้มาก่อนและหลังจากที่ฉันเปิดใช้งาน virtualenv ของฉัน

UPDATE : python -m pip install <package>ดียิ่งขึ้นใช้งาน ข้อดีของการทำเช่นนี้คือเนื่องจากคุณกำลังเรียกใช้งานเวอร์ชันเฉพาะของไพ ธ อนที่คุณต้องการใช้ในแพ็กเกจ pip จะทำการติดตั้งแพ็กเกจลงในไพ ธ อน "right" อย่างชัดเจน อีกครั้งอย่าใช้ sudo ในกรณีนี้ ... จากนั้นคุณจะได้รับแพ็คเกจในตำแหน่งที่ถูกต้อง แต่อาจมีสิทธิ์รูท (ไม่ต้องการ)


1
หรือคุณสามารถใช้ธง -H ของ sudo
Graydyn Young

21

มันเป็นปัญหาของเส้นทางของงูหลาม

ในกรณีของฉันฉันมีหลามติดตั้งใน:

/Library/Frameworks/Python.framework/Versions/2.6/bin/python,

และไม่มีไดเรกทอรีแพ็คเกจเว็บไซต์ภายใน python2.6

แพ็คเกจ (SOAPpy) ที่ฉันติดตั้งโดย pip ตั้งอยู่

/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/

และแพ็คเกจไซต์ไม่ได้อยู่ในเส้นทางของงูใหญ่สิ่งที่ฉันทำคือเพิ่มแพ็คเกจไซต์ไปยัง PYTHONPATH อย่างถาวร

  1. เปิด Terminal ขึ้นมา
  2. พิมพ์ open .bash_profile
  3. ในไฟล์ข้อความที่ปรากฏขึ้นให้เพิ่มบรรทัดนี้ที่ท้าย:

    ส่งออก PYTHONPATH = $ PYTHONPATH: /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/

  4. บันทึกไฟล์รีสตาร์ท Terminal และคุณทำเสร็จแล้ว

สิ่งนี้ใช้ได้กับฉันในการทำให้เจนกินส์ทำงานร่วมกับซีลีเนียมหลาม
edst

สิ่งนี้ใช้ได้กับฉันในการขึ้นฉ่ายผ่านหัวหน้างานเมื่อสคริปต์ทุบตีของฉันเรียกว่าสคริปต์ผักชีฝรั่งของฉัน สคริปต์ผักชีฝรั่งไม่สามารถนำเข้าโมดูลที่ติดตั้งแล้วภายใน pip ของฉัน ขอบคุณมาก
Shivam Sharma

หมายเหตุ: ข้อผิดพลาดในการนำเข้าอีกประการหนึ่งคือคุณติดตั้ง Python หลายเวอร์ชันในคอมพิวเตอร์ของคุณ ตัวอย่างเช่นหนึ่งจาก Python ของระบบและอีกหนึ่งจาก Miniconda หรือ Anaconda ดังนั้นโปรดใช้ "pip" ที่ถูกต้องเสมอ
Sanchit

8

กลไกการนำเข้า Python ใช้งานได้จริงดังนั้น:

  1. PYTHONPATH ของคุณผิด
  2. ห้องสมุดของคุณไม่ได้ติดตั้งตามที่คุณคิด
  3. คุณมีห้องสมุดอื่นที่มีชื่อเดียวกันปิดบังไลบรารีนี้

1
ไม่สามารถเป็นตัวเลือก 3 ในกรณีนี้ ที่จะไม่โยน ImportError
Martijn Pieters

2
อาจจะ 2? ฉันไม่รู้ว่าทำไมมันจะติดตั้งผิดที่สำหรับห้องสมุดแห่งนี้ที่อื่น ๆ ดี
Roy

3
ตัวเลือกที่ 4: PYTHONPATH ของคุณถูกต้องห้องสมุดของคุณเป็นที่ที่คุณต้องการคุณไม่มีห้องสมุดที่ปิดบังสิ่งนี้ ... แต่เนื่องจากคุณใช้sudo pip installมันได้ติดตั้งพร้อมกับรูทของรูทและในขณะที่บางสิ่งบางอย่างถูกทิ้งระเบิด สิทธิ์ในการอ่านหรือเขียน
Dan H

2
ไม่เป็นความจริงเลย @MartijnPieters: หากมีการนำเข้าแบบฟอร์ม "จาก <package> import <foo>" และหากแพ็คเกจที่ขัดขวางไม่มี "foo" คุณจะได้รับข้อผิดพลาดในการนำเข้าสำหรับตัวเลือก 3
Dan H

@ DanH แน่ใจ แต่นั่นไม่ใช่รูปแบบที่ OP ใช้อยู่
Martijn Pieters

8

ฉันต่อสู้หัวกับจอมอนิเตอร์ของฉันจนถึงสิ่งนี้จนกระทั่งเด็กฝึกงานสะโพกบอกความลับคือ "python setup.py ติดตั้ง" ในไดเรกทอรีโมดูล

ด้วยเหตุผลบางอย่างการเรียกใช้การตั้งค่าจากที่นั่นทำให้มันใช้งานได้

เพื่อให้ชัดเจนหากชื่อโมดูลของคุณคือ "foo":

[burnc7 (2016-06-21 15:28:49) git]# ls -l
total 1
drwxr-xr-x 7 root root  118 Jun 21 15:22 foo
[burnc7 (2016-06-21 15:28:51) git]# cd foo
[burnc7 (2016-06-21 15:28:53) foo]# ls -l
total 2
drwxr-xr-x 2 root root   93 Jun 21 15:23 foo
-rw-r--r-- 1 root root  416 May 31 12:26 setup.py
[burnc7 (2016-06-21 15:28:54) foo]# python setup.py install
<--snip-->

หากคุณพยายามเรียกใช้ setup.py จากไดเรกทอรีอื่นโดยเรียกใช้พา ธ นั้นแสดงว่าคุณติดตั้ง borked แล้ว

ไม่ทำงาน, ไม่เป็นผล:

python /root/foo/setup.py install

ทำงาน:

cd /root/foo
python setup.py install

7

ฉันสามารถแก้ไขปัญหานี้ได้ด้วยวิธีการรวมกัน อันดับแรกฉันทำตามคำแนะนำของ Chris เปิดบรรทัดคำสั่งและพิมพ์ 'pip show packagename' ซึ่งระบุตำแหน่งของแพ็คเกจที่ติดตั้ง

ต่อไปฉันเปิด python และพิมพ์ 'import sys' จากนั้น 'sys.path' เพื่อแสดงตำแหน่งที่หลามค้นหาแพ็คเกจที่ฉันนำเข้า อนิจจาสถานที่ที่แสดงในขั้นตอนแรกไม่ได้อยู่ในรายการ

ขั้นตอนสุดท้ายฉันพิมพ์ 'sys.path.append (' package_location_seen_in_step_1 ') คุณสามารถเลือกทำซ้ำขั้นตอนที่สองเพื่อดูตำแหน่งที่อยู่ในรายการ

ขั้นตอนการทดสอบลองนำเข้าแพ็คเกจอีกครั้ง ... ใช้งานได้

ข้อเสียคืออะไร? เป็นชั่วคราวและคุณต้องเพิ่มลงในรายการทุกครั้ง


5

sudo pip install keyringผมพบนี้ในขณะที่พยายามที่จะใช้พวงกุญแจที่ผมติดตั้งผ่าน ตามที่ระบุไว้ในคำตอบอื่น ๆ มันเป็นปัญหาสิทธิ์ในกรณีของฉัน

อะไรที่ทำให้ฉัน:

  1. ถอนการติดตั้งพวงกุญแจ:
    • sudo pip uninstall keyring
  2. ฉันใช้-Hตัวเลือกของ sudo และติดตั้งพวงกุญแจใหม่:
    • sudo -H pip install keyring

หวังว่านี่จะช่วยได้


3

ฉันยังใหม่กับงูหลาม ฉันแก้ไขปัญหานี้โดยการเปลี่ยนเส้นทางตัวแปลโครงการ
File -> Settings -> Project -> Project Interpreter


จากที่ไหน IDE หรือ ???
Christopher Kikoti

2

ฉันไม่สามารถทำให้ PYTHONPATH ทำงานได้อย่างถูกต้อง ฉันได้ตระหนักถึงการเพิ่มexportแก้ไขปัญหา:

(ทำงานได้)

export PYTHONPATH=$PYTHONPATH:~/test/site-packages

เมื่อเทียบกับ

(ไม่ทำงาน)

PYTHONPATH=$PYTHONPATH:~/test/site-packages

2

ในกรณีของฉันฉันได้ทำงานpip install Django==1.11และมันจะไม่นำเข้าจากpythonล่าม

เรียกดูคำสั่งของ pip ที่ฉันพบpip showซึ่งมีลักษณะเช่นนี้:

> pip show Django
Name: Django
Version: 1.11
...
Location: /usr/lib/python3.4/site-packages
...

สังเกตุที่ตั้งว่า '3.4' ฉันพบว่าpythonคำสั่งถูกเชื่อมโยงกับpython2.7

/usr/bin> ls -l python
lrwxrwxrwx 1 root root 9 Mar 14 15:48 python -> python2.7

ถัดจากฉันพบลิงค์ที่เรียกว่าpython3ดังนั้นฉันใช้มัน python3.4นอกจากนี้คุณยังสามารถเปลี่ยนการเชื่อมโยงไป ที่จะแก้ไขได้เช่นกัน


1

ในกรณีของฉันมันเป็นปัญหาของไฟล์init .py ที่หายไปในโมดูลที่ฉันต้องการนำเข้าในสภาพแวดล้อม Python 2.7

Python 3.3+ มีแพ็คเกจเนมสเปซโดยนัยที่อนุญาตให้สร้างแพ็คเกจโดยไม่มีไฟล์init .py


1

หากคำตอบอื่น ๆ ที่กล่าวถึงไม่สามารถใช้งานได้ให้ลองลบ pip pip และติดตั้งแพ็กเกจใหม่ เครื่องของฉันทำงาน Ubuntu14.04 ~/.cache/pipและมันก็อยู่ภายใต้ การลบโฟลเดอร์นี้เป็นการหลอกลวงสำหรับฉัน


1

นอกจากนี้ยังตรวจสอบให้แน่ใจว่าคุณอย่าสับสนกับpip3 pipสิ่งที่ฉันพบคือแพ็คเกจที่ติดตั้งด้วยpipไม่ทำงานpython3และในทางกลับกัน


0

เมื่อคุณติดตั้งผ่านeasy_installหรือpipมันสำเร็จหรือไม่ ผลลัพธ์เต็มคืออะไร คุณกำลังใช้การติดตั้งงูหลามแบบไหน? คุณอาจจำเป็นต้องใช้sudoก่อนคำสั่งการติดตั้งของคุณหากคุณกำลังติดตั้งโมดูลไปยังไดเรกทอรีระบบ (ถ้าคุณกำลังใช้การติดตั้งระบบหลามบางที) คำถามของคุณมีข้อมูลที่เป็นประโยชน์ไม่มากนัก แต่เครื่องมือบางอย่างที่อาจช่วยได้ ได้แก่ :

  • echo $PYTHONPATHและ / หรือecho $PATH: เมื่อนำเข้าโมดูล Python ค้นหาหนึ่งในตัวแปรสภาพแวดล้อมเหล่านี้ (รายการของไดเรกทอรี:คั่นด้วย) สำหรับโมดูลที่คุณต้องการ ปัญหาการนำเข้ามักเกิดจากไดเรกทอรีที่ถูกต้องไม่อยู่ในรายการเหล่านี้

  • which python, which pipหรือwhich easy_install: สิ่งเหล่านี้จะบอกตำแหน่งของแต่ละไฟล์ที่เรียกทำงานได้ มันอาจช่วยให้รู้

  • ใช้virtualenvเช่น @JesseBriggs แนะนำ มันทำงานได้ดีมากpipในการช่วยคุณแยกและจัดการโมดูลและสภาพแวดล้อมสำหรับโครงการ Python ที่แยกต่างหาก


0

ฉันมีปัญหาตรงนี้ แต่ไม่มีคำตอบข้างต้นทำงาน มันทำให้ฉันบ้าจนฉันสังเกตเห็นว่า sys.path นั้นแตกต่างกันหลังจากที่ฉันนำเข้าจากโปรเจ็กต์หลัก ปรากฎว่าฉันใช้ importlib เพื่อเขียนฟังก์ชั่นเล็ก ๆ น้อย ๆ เพื่อที่จะนำเข้าไฟล์ไม่ได้อยู่ในลำดับชั้นของโครงการ ความคิดที่ไม่ดี: ฉันลืมไปว่าเคยทำมาแล้ว ยิ่งแย่กว่านั้นกระบวนการนำเข้าก็บดบังด้วย sys.path - และปล่อยให้เป็นอย่างนั้น ความคิดที่แย่มาก

ทางออกคือหยุดมันและใส่ไฟล์ที่ฉันต้องการนำเข้าสู่โครงการ อีกวิธีหนึ่งคือการใส่ไฟล์ลงในโครงการของตัวเองเนื่องจากต้องสร้างใหม่เป็นครั้งคราวและการสร้างใหม่อาจหรืออาจไม่ตรงกับการสร้างโครงการหลัก


0

ฉันมีปัญหานี้กับ 2.7 และ 3.5 ที่ติดตั้งในระบบของฉันพยายามที่จะทดสอบบอโทรเลขกับงูหลามโทรเลข-Bot

ฉันไม่สามารถใช้งานได้หลังจากติดตั้งด้วย pip และ pip3 ด้วย sudo หรือไม่ใช้ ฉันได้รับเสมอ:

Traceback (most recent call last):
  File "telegram.py", line 2, in <module>
    from telegram.ext import Updater
  File "$USER/telegram.py", line 2, in <module>
    from telegram.ext import Updater
ImportError: No module named 'telegram.ext'; 'telegram' is not a package

telegram.pyอ่านข้อความข้อผิดพลาดได้อย่างถูกต้องบอกฉันหลามที่ถูกมองในไดเรกทอรีปัจจุบันสำหรับ และขวาฉันมีสคริปต์โกหกมีเรียกว่า telegram.py importและนี้ถูกโหลดโดยหลามเมื่อผมเรียกว่า

สรุปตรวจสอบให้แน่ใจว่าคุณไม่มีผู้ใดpackage.pyใน dir ที่ทำงานอยู่ในขณะที่พยายามนำเข้า (และอ่านข้อความแสดงข้อผิดพลาดอย่างละเอียด)


0

ฉันมีปัญหาที่คล้ายกัน (บน Windows) และสาเหตุที่แท้จริงในกรณีของฉันคือซอฟต์แวร์ต้านไวรัส! มันมีคุณสมบัติ "การบรรจุอัตโนมัติ" ซึ่งล้อมรอบกระบวนการทำงานกับเครื่องเสมือนบางประเภท อาการคือ: pip install somemoduleทำงานได้ดีในหน้าต่างหนึ่งบรรทัด cmd และimport somemoduleล้มเหลวเมื่อดำเนินการจากกระบวนการอื่นที่มีข้อผิดพลาด

ModuleNotFoundError: No module named 'somemodule'

ฉันหวังว่ามันจะประหยัดเวลากับใครบางคน :)


0

บางทีบิตนอกเรื่อง import PyYAMLแต่ผมมีปัญหาที่จะ import yamlชี้ให้เห็นว่าคุณจำเป็นต้อง (เดาว่าเป็น rtfm แบบคลาสสิก ... )


0

ฉันมีปัญหาคล้ายกันกับการใช้ Django ในกรณีของฉันฉันสามารถนำเข้าโมดูลจากเปลือก Django ได้ แต่ไม่ใช่จาก. py ซึ่งนำเข้าโมดูล
ปัญหาคือว่าฉันกำลังเรียกใช้เซิร์ฟเวอร์ Django (ดังนั้นการเรียกใช้. py) จากvirtualenv ที่แตกต่างจากที่ติดตั้งโมดูล

แต่เชลล์อินสแตนซ์กำลังทำงานใน virtualenv ที่ถูกต้องแทน ดังนั้นทำไมมันถึงได้ผล


0

มันใช้งานได้ !!!

สิ่งนี้มักจะเกิดขึ้นเมื่อโมดูลถูกติดตั้งไปยังไพ ธ อนรุ่นเก่าหรือไดเรกทอรีอื่น ๆ ไม่ต้องกังวลเพราะโซลูชันนั้นง่าย - นำเข้าโมดูลจากไดเรกทอรีที่ติดตั้งโมดูล คุณสามารถทำได้โดยการนำเข้าsysโมดูลpython ก่อนจากนั้นจึงนำเข้าจากพา ธ ที่ติดตั้งโมดูล

import sys
sys.path.append("directory in which module is installed")

import <module_name>

0

กรณีที่เป็นไปได้ส่วนใหญ่ได้รับการกล่าวถึงในการแก้ปัญหาแล้วเพียงแบ่งปันกรณีของฉันมันเกิดขึ้นกับฉันว่าฉันติดตั้งแพคเกจในสภาพแวดล้อมเดียว (เช่นX) และฉันกำลังนำเข้าแพคเกจในสภาพแวดล้อมอื่น (เช่นY) ดังนั้นให้แน่ใจว่าคุณกำลังนำเข้าแพคเกจจากสภาพแวดล้อมที่คุณติดตั้งแพคเกจ


0

สิ่งที่เหมาะกับฉันคือ:

python -m pip install -user {package name}

คำสั่งไม่ต้องการ sudo สิ่งนี้ได้รับการทดสอบบน OSX Mojave


0

ในกรณีของฉันฉันต้องติดตั้งโมดูลสำหรับ superuser ด้วย

sudo su
pip install <module>

เห็นได้ชัดว่า superuse ไม่สามารถเข้าถึงไฟล์ผู้ใช้ปกติได้ในบางกรณี


0

สำหรับฉันแล้วมันทำให้มั่นใจได้ว่าเวอร์ชั่นของโมดูลสอดคล้องกับเวอร์ชันของ Python ที่ฉันใช้ .. ฉันสร้างรูปภาพบนกล่องที่มี Python 3.6แล้วฉีดเข้าไปในอิมเมจ Docker ที่ติดตั้ง3.7แล้วจึงกระแทกหัว เมื่อ Python บอกฉันว่าโมดูลไม่ได้รับการติดตั้ง ...

36m สำหรับ Python 3.6 bsonnumpy.cpython-36m-x86_64-linux-gnu.so

37m สำหรับ Python 3.7 bsonnumpy.cpython-37m-x86_64-linux-gnu.so


pip installรุ่นที่ตรงกับรุ่นของ Python ที่คุณใช้งานอยู่ คุณได้รับข้อผิดพลาดอะไรและอะไรคือผลลัพธ์ของpython --version
ชิมที่

หลาม - รุ่นให้ฉัน: Python 3.7.7 และเมื่อฉัน chek ที่ติดตั้งแพคเกจด้วย pip แสดง librosa ให้; ที่อยู่: /home/ec2-user/anaconda3/lib/python3.7/site-packages วิธีการที่แพคเกจอยู่ในสถานที่ที่เหมาะสม แต่เมื่อฉันนำเข้าแพคเกจให้: ไม่มีชื่อโมดูลฉันทำงานบน AWS Sagemaker env Pytorch_p36
Walid Bousseta

สมมุติว่าคุณต้องการใช้ pytorch_p37
ท้องถนน

ไม่มี pytorch_p37
Walid Bousseta

0

ฉันรู้ว่านี่เป็นโพสต์เก่าสุด แต่สำหรับฉันฉันมีปัญหากับ 32 บิตหลามและ 64 บิตหลามติดตั้ง เมื่อฉันถอนการติดตั้งงูเหลือม 32 บิตทุกอย่างทำงานตามที่ควรจะเป็น


0

ฉันได้แก้ไขปัญหาของฉันแล้วว่าไลบรารีเดียวกันทำงานได้ดีในโครงการหนึ่ง (A) แต่การนำเข้าไลบรารีเดียวกันเหล่านั้นในโครงการอื่น (B) ทำให้เกิดข้อผิดพลาด ฉันใช้ Pycharm เป็น IDE ที่ Windows OS ดังนั้นหลังจากพยายามแก้ไขปัญหาที่อาจเกิดขึ้นมากมายและล้มเหลวในการแก้ปัญหาฉันได้ทำสองสิ่งนี้ (ลบโฟลเดอร์ "Venv" และล่ามที่แปลใหม่):

1-In project (B) มีชื่อโฟลเดอร์ ("venv") ที่อยู่ใน External Libraries / ฉันลบโฟลเดอร์นั้นแล้ว

2 ขั้นตอนที่ 1 (การลบโฟลเดอร์ "venv") ทำให้เกิดข้อผิดพลาดใน Python Interpreter Configuration และมีข้อความแสดงที่ด้านบนของหน้าจอที่ระบุว่า "ล่ามไพ ธ อนไม่ถูกต้องถูกเลือกสำหรับโครงการ" และ "กำหนดค่าล่ามหลาม" เลือกลิงก์นั้น เปิดหน้าต่างใหม่ ในรายการแบบหล่นลง "Project Interpreter" จะมีเส้นสีแดงแสดงล่ามที่ไม่ถูกต้องก่อนหน้านี้ ตอนนี้เปิดรายการนี้และเลือก Python Interpreter (ในกรณีของฉันคือ Python 3.7) กด "นำไปใช้" และ "ตกลง" ที่ด้านล่างและคุณพร้อมแล้ว

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



0

มีปัญหานี้ด้วย .. แพคเกจติดตั้งบน Python 3.8.0 แต่ VS Code กำลังเรียกใช้สคริปต์ของฉันโดยใช้เวอร์ชั่นที่เก่ากว่า (3.4)

แก้ไขใน terminal:

py .py

ตรวจสอบให้แน่ใจว่าคุณกำลังติดตั้งแพ็กเกจในเวอร์ชั่น Python ที่ถูกต้อง


0

อย่างที่เพื่อนทำเพื่อฉันในวันนี้นี่คือสิ่งที่ช่วยฉัน (ฉันใช้ Windows):

กด 'การตั้งค่า' -> 'โครงการ' -> 'ตัวแปลโครงการ' ที่นี่ในหน้าต่างด้านขวามีบรรทัดที่มีชื่อ 'Project Interpreter' อยู่ด้านซ้าย คลิกที่บรรทัดนี้และจะเปิดอีกหลายบรรทัด

ตอนนี้กดบรรทัด 'แสดงทั้งหมด' หน้าต่างจะเปิดขึ้น ในหน้าต่างนี้กดเครื่องหมาย '+' เล็ก ๆ ที่มุมขวาบน

หน้าต่างใหม่จะเปิดขึ้น ทางด้านซ้ายมี 4 แท็บให้กดหนึ่งอันที่สูงที่สุดซึ่งระบุว่า 'Virtualenv Environment' ในหน้าต่างด้านขวาให้ทำเครื่องหมายตัวเลือก 'สภาพแวดล้อมที่มีอยู่' บรรทัด 'ล่าม' จะปรากฏให้เห็นอย่างชัดเจน กดปุ่ม '... ' ที่ด้านขวาของบรรทัด

ตอนนี้หน้าต่างการเรียกดูจะเปิดขึ้น เรียกดูไดเรกทอรีที่คุณติดตั้งหลามตัวเองใน ไม่ใช่คนที่มี PyCharm เมื่อไปถึงที่นั่นให้เลือกไฟล์ 'python.exe' แล้วกดตกลง (หน้าต่างจะหายไป)

กดตกลงอีกครั้ง (หน้าต่างนี้จะหายไปด้วย)

ในหน้าต่างนี้ตรวจสอบให้แน่ใจว่าบรรทัดใหม่ที่คุณสร้างถูกทำเครื่องหมายและกดตกลงอีกครั้ง

ตอนนี้แพ็คเกจที่ติดตั้งทั้งหมดควรปรากฏในตัวแปลโครงการและอ่านโดยโปรแกรมของคุณ


0

ทางออกที่ง่ายที่สุดที่เหมาะกับฉันที่ฉันไม่เห็นพูดถึงในหัวข้อนี้:

ฉันติดตั้ง Python หลายเวอร์ชัน แต่พยายามใช้ Python3.7 - ดังนั้นฉันต้องใช้:

sudo pip3.7 install <package>

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