我在 MacbookPro (10.9.5) 上使用 Python 3.4.2。代码来自Al Sweigart 的 Automate the Boring Stuff with Python 尝试在 python3 中运行脚本时出现一个奇怪的错误。代码如下,但我认为这不是问题。这可能是模块路径问题,但我的调试不能 100% 确定。
我可以在 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'
但是,在空闲时,代码运行良好,没有给出未找到模块的错误:
>>> ================================ RESTART ================================
>>>
Password for email copied to clipboard
>>>
有谁知道我的路径可能会发生什么,或者我可以在脚本中或从终端运行哪些其他 cmd 以确定发生了什么?
下面的测试代码
#!/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)