问:在 Windows 上为 Python 2.7 使用 pip 安装 pyHook

Q: Install pyHook with pip for Python 2.7 on Windows

我的电脑在 Windows 7 (x64) 上运行,我安装了 32 位版本的 Anaconda 2 和 Anaconda 3,以便能够根据我的项目使用 Python 2.7 或 3.5。我正在尝试为 Python 2.7 安装 pyHook,但我很挣扎。

我尝试使用 pip 和 this 页面的第一个 windows 安装程序:

pip install C:\Users\...\Downloads\pyHook-1.5.1-cp27-cp27m-win32.whl

但我收到以下错误:

pyHook-1.5.1-cp27-cp27m-win32.whl is not a supported wheel on this platform.

为了确定我检查了哪个版本的 pip 运行 结果是 Python 3. 所以我在网上看了看 and this 解决方案。我试过了:

pip-2.7 pip install pyhook

py -2.7 pip install C:\Users\...\Downloads\Downloads\pyHook-1.5.1-cp27-cp27m-win32.whl

但显然 python 无法识别这些命令中的任何一个:

'pip-27' is not recognized as an internal or external command...

C:\Program Files (x86)\Anaconda2\python.exe: can't open file 'pip': [Errno 2] No such file or directory

我必须承认我没想法。有人遇到过这个问题吗?

'pip' 命令在 "C:\Python27\Scripts" folder.So 下,您应该转到该文件夹​​并执行 'pip.exe' 命令。 此外,最好在 windows OS 中设置以下系统变量 'PATH ' 的路径。

C:\Python27\
C:\Python27\Scripts

通过在 PATH 变量中设置上述路径,'pip' 和 'python' 命令可以在命令提示符下执行目录。

pip --version
pip 7.0.1 from C:\Python27\lib\site-packages (python 2.7)
python --version
Python 2.7.10

现在,第 2 期 'pyHook-1.5.1-cp27-cp27m-win32.whl is not a supported wheel on this platform.' 看来,您已经获得了 64 位的 whl 文件(可以在 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 找到)。 使用下面的 whl 文件或为 pyHook 下载正确的 whl 文件并安装它。

C:\Python27\Scripts\pip.exe install pyHook‑1.5.1‑cp27‑none‑win_amd64.whl

感谢@Jitendra 的回答,我设法解决了我的问题。

我的PATH已经包含了Python和pip所在的目录。它们有点不同,因为 Python 与 Anaconda 一起安装:

C:\Program Files (x86)\Anaconda2

C:\Program Files (x86)\Anaconda2\Scripts

我通过进入 \Anaconda2\Script 目录并使用 .whl 文件安装了 pyHook:

cd C:\Program Files (x86)\Anaconda2\Scripts

pip install C:\Users\...\Downloads\pyHook-1.5.1-cp27-cp27m-win32.whl

好吧,Windows 已经臭到不行了。 我为此花了很多时间。最后这是有效的。 对于 Python 2,我必须在同一文件夹 2.7.6 和 2.7.14rc1

中安装 2 个包

这不是解决方案,只是一种可行的解决方法。 我希望我永远不会再从事 windows 的工作。

换个角度看。

我使用 "py" 在我的系统上有 python 2.7 和 3.5,所以我有时会 运行 遇到类似的问题。

如果您可以自信地调用 python 2 本身,请启动解释器,然后访问 pip 并以编程方式执行安装:

import pip

#download the .whl file by your own method and get its path
wheel_location = r'C:\Users\...\Downloads\pyHook-1.5.1-cp27-cp27m-win32.whl'

#pip.main(['list', 'of', 'pip', 'commands'])
try:
    pip.main(['install', wheel_location])
except ImportError as e:
    print("Problem with installing {}, reason:{}".format(wheel_location, e)