Я использую Python 3.4.2 на MacbookPro (10.9.5). Код от Automate the Boring Stuff with Python by Al Sweigart У меня есть странная ошибка при попытке запустить скрипт в python3. Код ниже, но я не думаю, что это проблема. Это может быть проблема с модулем, но не на 100% от моей отладки.Как найти расположение модулей для python3 и отладить ImportError
Я могу запустить код в Idle, но я не могу запустить код из строки cmd, работая либо с shebang, либо с python3 «имя скрипта».
Ниже мы можем видеть, что pip3 и python3 находятся в/usr/local/bin. Мы также видим, что модуль pyperclip установлен. Однако при запуске скрипта из строки cmd он говорит, что не может найти модуль, даже если он установлен.
Я побежал это из моего терминала:
$ which pip3
/usr/local/bin/pip3
$ which python3
/usr/local/bin/python3
$ pip3 freeze | grep clip
pyperclip==1.5.24
$ python3 pw.py
Traceback (most recent call last):
File "pw.py", line 5, in <module>
import pyperclip
ImportError: No module named 'pyperclip'
Однако в Idle, код работает нормально, без давая ошибку модуля не найден:
>>> ================================ RESTART ================================
>>>
Password for email copied to clipboard
>>>
Кто-нибудь знает, что может происходит с моим путем или с другими cmds, которые я могу запустить в своем сценарии или с терминала, чтобы определить, что происходит?
код теста
#!/usr/local/bin/python3
# pw.py - an insecure password locker program
import sys
import pyperclip
PASSWORDS = {'email': 'F7minlBDDuvMJuxESSKHFhTxFtjVB6',
'blog': 'VmALvQyKAxiVH5G8v01if1MLZF3sdt',
'luggage': '12345'}
account = "email"
if account in PASSWORDS:
pyperclip.copy(PASSWORDS[account])
print ('Password for ' + account + ' copied to clipboard')
else:
print ('There is no account named ' + account)
Есть свой сценарий печати sys.path и проверьте эти папки. –
@SamuelLittley - thx для наконечника. он смотрит на 2 разных местоположения, но я не знаю, почему. Он смотрит на библиотеку/Frameworks/Python.framework/Версии 3.4/lib/python3.4/site-packages (рабочий/Idle выглядит здесь) и /usr/local/lib/python3.4/site-packages (не работает и выглядит пустой. Терминал выглядит здесь). Можете ли вы рассказать мне, как заставить python3 с терминала смотреть в первых местах? – Classified