Python3.5 - pip安装错误:无法找到vcvarsall.bat文件

3

Python v3.5, Windows 7 64位系统, IDE:PyCharm Version: 4.5.4 Build: 141.2569

情况: 尝试使用pip安装名为PyAutoGUI的模块时,遇到了"无法找到vcvarsall.bat"的错误。在命令提示符下尝试安装也会出现相同的错误。虽然这个错误似乎很普遍,解决方法是从http://www.lfd.uci.edu/~gohlke/pythonlibs/下载模块,但我没有在那里找到我要找的模块。

非常感谢任何建议。

错误信息:

Collecting PyAutoGUI Downloading PyAutoGUI-0.9.31.zip (55kB) Collecting pymsgbox (from PyAutoGUI) Downloading PyMsgBox-1.0.3.zip Collecting PyTweening>=1.0.1 (from PyAutoGUI) Downloading PyTweening-1.0.2.zip Collecting Pillow (from PyAutoGUI) Downloading Pillow-2.9.0.tar.gz (9.3MB) Collecting pyscreeze (from PyAutoGUI) Downloading PyScreeze-0.1.7.zip Installing collected packages: pymsgbox, PyTweening, Pillow, pyscreeze, PyAutoGUI Running setup.py install for pymsgbox Running setup.py install for PyTweening Running setup.py install for Pillow Complete output from command C:\Users\Marx\AppData\Local\Programs\Python\Python35-32\python.exe -c "import setuptools, tokenize;__file__='C:\\Users\\Marx\\AppData\\Local\\Temp\\pycharm-packaging0.tmp\\Pillow\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\Marx\AppData\Local\Temp\pip-iwse_fey-record\install-record.txt --single-version-externally-managed --compile: Single threaded build, not installing mp_compile: 4 processes running install running build running build_py creating build creating build\lib.win32-3.5 creating build\lib.win32-3.5\PIL copying PIL\BdfFontFile.py -> build\lib.win32-3.5\PIL copying PIL\BmpImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\BufrStubImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\ContainerIO.py -> build\lib.win32-3.5\PIL copying PIL\CurImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\DcxImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\EpsImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\ExifTags.py -> build\lib.win32-3.5\PIL copying PIL\features.py -> build\lib.win32-3.5\PIL copying PIL\FitsStubImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\FliImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\FontFile.py -> build\lib.win32-3.5\PIL copying PIL\FpxImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\GbrImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\GdImageFile.py -> build\lib.win32-3.5\PIL copying PIL\GifImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\GimpGradientFile.py -> build\lib.win32-3.5\PIL copying PIL\GimpPaletteFile.py -> build\lib.win32-3.5\PIL copying PIL\GribStubImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\Hdf5StubImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\IcnsImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\IcoImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\Image.py -> build\lib.win32-3.5\PIL copying PIL\ImageChops.py -> build\lib.win32-3.5\PIL copying PIL\ImageCms.py -> build\lib.win32-3.5\PIL copying PIL\ImageColor.py -> build\lib.win32-3.5\PIL copying PIL\ImageDraw.py -> build\lib.win32-3.5\PIL copying PIL\ImageDraw2.py -> build\lib.win32-3.5\PIL copying PIL\ImageEnhance.py -> build\lib.win32-3.5\PIL copying PIL\ImageFile.py -> build\lib.win32-3.5\PIL copying PIL\ImageFileIO.py -> build\lib.win32-3.5\PIL copying PIL\ImageFilter.py -> build\lib.win32-3.5\PIL copying PIL\ImageFont.py -> build\lib.win32-3.5\PIL copying PIL\ImageGrab.py -> build\lib.win32-3.5\PIL copying PIL\ImageMath.py -> build\lib.win32-3.5\PIL copying PIL\ImageMode.py -> build\lib.win32-3.5\PIL copying PIL\ImageMorph.py -> build\lib.win32-3.5\PIL copying PIL\ImageOps.py -> build\lib.win32-3.5\PIL copying PIL\ImagePalette.py -> build\lib.win32-3.5\PIL copying PIL\ImagePath.py -> build\lib.win32-3.5\PIL copying PIL\ImageQt.py -> build\lib.win32-3.5\PIL copying PIL\ImageSequence.py -> build\lib.win32-3.5\PIL copying PIL\ImageShow.py -> build\lib.win32-3.5\PIL copying PIL\ImageStat.py -> build\lib.win32-3.5\PIL copying PIL\ImageTk.py -> build\lib.win32-3.5\PIL copying PIL\ImageTransform.py -> build\lib.win32-3.5\PIL copying PIL\ImageWin.py -> build\lib.win32-3.5\PIL copying PIL\ImImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\ImtImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\IptcImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\Jpeg2KImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\JpegImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\JpegPresets.py -> build\lib.win32-3.5\PIL copying PIL\McIdasImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\MicImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\MpegImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\MpoImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\MspImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\OleFileIO.py -> build\lib.win32-3.5\PIL copying PIL\PaletteFile.py -> build\lib.win32-3.5\PIL copying PIL\PalmImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\PcdImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\PcfFontFile.py -> build\lib.win32-3.5\PIL copying PIL\PcxImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\PdfImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\PixarImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\PngImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\PpmImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\PsdImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\PSDraw.py -> build\lib.win32-3.5\PIL copying PIL\PyAccess.py -> build\lib.win32-3.5\PIL copying PIL\SgiImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\SpiderImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\SunImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\TarIO.py -> build\lib.win32-3.5\PIL copying PIL\TgaImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\TiffImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\TiffTags.py -> build\lib.win32-3.5\PIL copying PIL\WalImageFile.py -> build\lib.win32-3.5\PIL copying PIL\WebPImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\WmfImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\XbmImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\XpmImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\XVThumbImagePlugin.py -> build\lib.win32-3.5\PIL copying PIL\_binary.py -> build\lib.win32-3.5\PIL copying PIL\_util.py -> build\lib.win32-3.5\PIL copying PIL\__init__.py -> build\lib.win32-3.5\PIL running egg_info writing top-level names to Pillow.egg-info\top_level.txt writing dependency_links to Pillow.egg-info\dependency_links.txt writing Pillow.egg-info\PKG-INFO warning: manifest_maker: standard file '-c' not found
reading manifest file 'Pillow.egg-info\SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'Pillow.egg-info\SOURCES.txt' copying PIL\OleFileIO-README.md -> build\lib.win32-3.5\PIL warning: build_py: byte-compiling is disabled, skipping.
running build_ext building 'PIL._imaging' extension error: Unable to find vcvarsall.bat
----------------------------------------


你是否已经安装了C编译器? - BrenBarn
不,我不知道那是必需的。你能详细解释一下吗?为什么需要它,我在哪里可以得到它? - N. Cross
如果您没有安装C编译器,请确保获取与构建您正在使用的Python解释器版本相同的编译器(或使用mingw32)。当您启动Python控制台时,它会打印出用于构建它的编译器。对于Windows,您可以使用Visual Studio Express,您可以从Microsoft的网站上下载。 - martineau
2个回答

2
我曾经遇到了类似的问题,例如cx_Oracle和pysftp等软件包。以下方法适用于我:
  1. 安装相应版本的C++编译器。 我正在使用Python 3.5.0 (v3.5.0:374f501f4567,Sep 13 2015,02:16:59) [MSC v.1900 32 bit (Intel)] win32。我安装了Visual Studio 2015 Community Edition。(感谢@Colonel Panic)

  2. 重新运行pip以安装你需要的软件包。

愉快的编码!
参考资料:

1
如果你仔细阅读错误信息,会发现错误实际上是在尝试安装pillow时出现的。在Gohlke网站上链接到了pillow的版本。因此,请尝试从那里安装pillow,然后执行pip install pyautogui,看看是否可以正常工作。
一些Python包包含用C编写的部分。为了使用这些部分,您需要C编译器或者需要该包的Windows安装程序(比如在Gohlke网站上提供的)。似乎PyAutoGUI不需要编译,但它需要Pillow,而Pillow需要编译。因此,您可以通过单独安装Pillow来使其正常工作。(您可能会再次收到错误消息,因为另一个依赖项可能存在相同的问题,因此您可能需要重复此过程,安装其他库,直到安装足够多的库以使pip正常工作。)

"Python 3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:16:59) [MSC v.1900 32 bit (Intel)] on win32" 考虑到我的 Python 版本,我应该下载哪个版本? - N. Cross
@N.Cross:下载名为Pillow-2.9.0-cp35-none-win32.whl的文件。(cp35表示CPython 3.5,win32是因为你粘贴的那行显示了“32位”。) 然后你可以使用pip安装该文件(pip install Pillow-2.9.0-cp35-none-win32.whl)。 - BrenBarn
运行该命令时,出现错误提示文件不存在,尽管我已经下载了它。 - N. Cross
@N.Cross:在你尝试使用我展示的命令安装它之前,你必须先进入下载了.whl文件的目录。 - BrenBarn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接