Python 包 cx_Oracle==5.1.3 Microsoft Visual C++ 9.0 是必需的

Python package cx_Oracle==5.1.3 Microsoft Visual C++ 9.0 is required for

本文关键字:C++ Visual cx Oracle Python Microsoft      更新时间:2023-10-16

尝试通过 Jenkins 将 cx_Oracle==5.1.3 软件包安装到 Windows 2012 服务器上。将python 2.7与setuptools-41.1.0.dist-info一起使用。我已经安装了Microsoft C++Python 9.0编译器,但pip抱怨找不到它

从命令行运行 pip 安装代码,它可以工作。尝试设置各种路径,尝试从 Jenkins 调用C++环境。在互联网上搜索建议,却一无所获:(

调用"C:\Users*****\AppData\Local\Programs\Common\Microsoft Visual C++ for Python\9.0\vcvarsall.bat" x86_amd64

%WORKON_HOME%\emileTest\Scripts\pip install cx_Oracle==5.1.3

这是 Jenkins 错误日志

收集cx_Oracle==5.1.3 使用缓存 https://files.pythonhosted.org/packages/be/25/afc07a79ed268f6ab2e8959cfcff997504ce09500b881a1d93f92904762e/cx_Oracle-5.1.3.tar.gz

为收集的包裹构建轮子:cx-Oracle

cx-Oracle (setup.py) 的构建轮:已启动

用于 cx-Oracle (setup.py) 的构建轮:已完成,状态为"错误" 错误:命令出错,退出状态为 1:

command: 'c:\envs\emiletest\scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"''c:\windows\temp\pip-install-umf517\cx-Oracle\setup.py'"'"'';file='"'c:\windows\temp\pip-install-umf517\cx-Oracle\setup.py'"'"'';f=getattr(tokenize, '"'''open''''', open)(file);code=f.read().replace('"''\r'''f.close();exec(compile(code,file, '"''''exec'''))' bdist_wheel -d 'c:\windows\temp\pip-wheel-kg80iv' --python-tag cp27 cwd: c:\windows\temp\pip-install-umf517\cx-Oracle\

完整输出(5 行): 跑步bdist_wheel

运行构建

跑步build_ext

建筑"cx_Oracle"扩展

错误:需要Microsoft视觉C++ 9.0。从 http://aka.ms/vcpython27 获取

为了避免 Jenkins 的这种构建问题,我所做的是在默认的 python 站点包下安装旧的 cx_Oracle 版本。我使用 virtualenv,所以我可以创建一个虚拟环境,并基本上告诉它继承默认的python站点包,如下所示:

mkvirtualenv --system-site-packages env_name

因此,此环境将有权访问默认的cx_Oracle包。由于已经满足了要求,pip 在 Jenkins 中构建时不会尝试再次安装它。

我很想升级很多东西,但只要一切正常,它就不被视为优先事项。