Python 3 Pyperclip

时间:2018-01-04 02:14:39

标签: python pyperclip

我是Python的新手,我正在通过"使用Python自动化无聊的东西"书(https://automatetheboringstuff.com/chapter6/)。我正在使用密码锁定器项目并且遇到了pyperclip模块的困难。我在Mac OS X Yosemite上运行Python 3.6.2。

当我尝试通过终端运行我的程序时,我收到此消息:

Traceback (most recent call last):
  File "./pw.py", line 8, in <module>
    import sys, pyperclip
ModuleNotFoundError: No module named 'pyperclip'

但是,当我尝试使用&#34; pip3 install pyperclip&#34;时,我已经安装了pyperclip并收到此消息:

pip3 install pyperclip
Requirement already satisfied: pyperclip in     
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages

在Shell中它适用于我:

>>> import pyperclip
>>> pyperclip.copy('hello')
>>> pyperclip.paste()
'hello'

我认为除了实际密码外,我的程序与书中的程序相同:

#! /usr/bin/env python3
# pw.py - An insecure password locker program.

PASSWORDS = {'email': '12345',
             'blog' : '54321',
             'luggage': '123456789' }

import sys, pyperclip
if len(sys.argv) < 2:
    print('Usage: python pw.py [account] - copy account password')
    sys.exit()

account = sys.argv[1]   # first command line arg is the account name

if account in PASSWORDS:
    pyperclip.copy(PASSWORDS[account])
    print('Password for ' + account + ' copied to clipboard.')
else:
    print('There is no account named ' + account) 

我一直试图找出这种情况发生的原因,但无法弄明白。再一次,我对Python很新,任何有用的见解都会非常感激!谢谢!

3 个答案:

答案 0 :(得分:1)

你提到pyperclip安装在
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages

在您的脚本中print(sys.path)并验证您的程序是否可以使用该目录进行导入。如果解释器和库仍然不匹配,请考虑使用conda或virtualenv创建环境。

顺便说一句,请删除import行,并在shebang之后放置两条新的import行,以便它们出现在PASSWORDS分配之前。它只是一个片状的东西。

另外,请考虑使用argparseclick而不是阅读sys.argv[1]。首先,你得到了#34; - 帮助&#34;免费。

答案 1 :(得分:0)

改变#! /usr/bin/env python中的shebang并使用python2运行它。

答案 2 :(得分:0)

我真的很难为我的python发行版在正确的环境中安装pyperclip。我已经使用anaconda导航器安装了pythong。那加上Mac上的默认python以及其他一些使我陷入困境。 (也许与您面临的情况类似。

我的解决方法是找出我的IDE(Spyder 4)使用的是哪个python解释器,然后从那里运行引用此位置的安装命令。

更简单地说:

pip install pyperclip

成为

/usr/local/anaconda3/bin/pip install pyperclip

这似乎为我解决了问题。祝所有面临类似问题的人都好运。