python gmpy 使用 MS Visual C++ Compiler Package for Python 2.7 安装错误

Posted

技术标签:

【中文标题】python gmpy 使用 MS Visual C++ Compiler Package for Python 2.7 安装错误【英文标题】:python gmpy install error using MS Visual C++ Compiler Package for Python 2.7 【发布时间】:2014-10-27 02:14:56 【问题描述】:

我正在尝试在使用 virtualenv 创建的测试环境中通过 pip install gmpy 安装 gmpy,但它会返回错误

我的笔记本电脑是 Windows 8.1 x64,使用 Python 27 x32

我安装了适用于 Python 2.7 的 Microsoft Visual C++ 编译器包,因为我收到了 unable to find vcvarsall.bat 错误消息。一旦我安装了适用于 Python 2.7 的 C++ 编译器包并升级了setuptools to 7.0,该消息就消失了,但我得到了以下信息:

c:\envs\testenv1\build\gmpy\src\gmpy.h(30) : fatal error C1083: Cannot open include file: 'gmp.h': No such file or directory

error: command 'C:\\Users\\user_name\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\cl.exe' failed with exit status 2

----------------------------------------
Cleaning up...
  Removing temporary dir C:\envs\testenv1\build...
Command C:\envs\testenv1\Scripts\python.exe -c "import setuptools, tokenize;__file__='C:\\envs\\testenv1\\build\\gmpy\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\user_name\appdata\local\temp\pip-t4r7jf-record\install-record.txt --single-version-externally-managed --compile --install-headers C:\envs\testenv1\include\site\python2.7 failed with error code 1 in C:\envs\testenv1\build\gmpy
Exception information:
Traceback (most recent call last):
  File "C:\envs\testenv1\lib\site-packages\pip\basecommand.py", line 122, in main
    status = self.run(options, args)
  File "C:\envs\testenv1\lib\site-packages\pip\commands\install.py", line 283, in run
    requirement_set.install(install_options, global_options, root=options.root_path)
  File "C:\envs\testenv1\lib\site-packages\pip\req.py", line 1435, in install
    requirement.install(install_options, global_options, *args, **kwargs)
  File "C:\envs\testenv1\lib\site-packages\pip\req.py", line 706, in install
    cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
  File "C:\envs\testenv1\lib\site-packages\pip\util.py", line 697, in call_subprocess
    % (command_desc, proc.returncode, cwd))
InstallationError: Command C:\envs\testenv1\Scripts\python.exe -c "import setuptools, tokenize;__file__='C:\\envs\\testenv1\\build\\gmpy\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\user_name\appdata\local\temp\pip-t4r7jf-record\install-record.txt --single-version-externally-managed --compile --install-headers C:\envs\testenv1\include\site\python2.7 failed with error code 1 in C:\envs\testenv1\build\gmpy

有人能指出正确的方向吗?

我安装了以下内容:

Microsoft Visual 2008 Redistributable - x64 9.0.30729.6161
Microsoft Visual 2008 Redistributable - x86 9.0.30729.6161

Microsoft Visual 2010 x64 Redistributable - 10.0.40219
Microsoft Visual 2010 x86 Redistributable - 10.0.40219

Microsoft Visual 2012 Redistributable (x64) - 11.0.61030
Microsoft Visual 2012 Redistributable (x86) - 11.0.61030

Microsoft Visual C++ Compiler Package for Python 2.7

我不想安装 VS2008 或 MINGW。我希望“Microsoft Visual C++ Compiler Package for Python 2.7”能解决这个问题,但它没有。

【问题讨论】:

【参考方案1】:

我维护gmpy,我只想说在Windows 上构建gmpygmpy2 非常具有挑战性。您是否有理由不能使用预构建的二进制文件? gmpy / gmpy2 依赖于单个 DLL,因此如果需要,很容易复制到不同的位置。

【讨论】:

我本来想安装pycrypto。但是我收到了warning: GMP or MPIR library not found; Not building Crypto.PublickKey._fastmath 错误以及 C++ 编译器错误。我想安装 pysftp,它需要 paramiko,它需要 pycrypto,它需要 gmp 库。我觉得我正在以错误的方式解决这个问题。我只想使用 ssl 建立 ftp 连接。我是 python 新手。 PyCrypto 实际上并不需要gmpy。它需要 GMP 或 MPIR C 库。 gmpy 也需要相同的库。编译 GMP 或 MPIR 是一个挑战。我会寻找 PyCrypto 的预构建 Windows 二进制文件。 你知道我是否需要pycrypto 来换取paramiko?根据文档,我知道 pysftp 的要求包括 paramiko ..【参考方案2】:

我建议您在系统上安装 anaconda 发行版。使用 conda 安装 gmpy2 非常简单。它会为您处理所有依赖项。您需要做的就是输入命令:conda install gmpy2 在您的环境中,您将在几秒钟内安装它。

【讨论】:

以上是关于python gmpy 使用 MS Visual C++ Compiler Package for Python 2.7 安装错误的主要内容,如果未能解决你的问题,请参考以下文章

Python3.8 安装gmpy2 教程, 无法安装gmpy2解决方案

python模块gmpy2在linux下安装

安装Python模块gmpy2中的问题解决

安装Python模块gmpy2中的问题解决

Python-解决下载gmpy2的报错问题

Python-解决下载gmpy2的报错问题