【发布时间】:2019-11-25 14:13:46
【问题描述】:
我正在尝试在命令 shell 上使用 pip install rpy2 安装 rpy2,但出现以下错误:
使用缓存收集 rpy2 https://files.pythonhosted.org/packages/c7/43/401afad8556bf92b08bd7d422cacac614b0e8dd2bce31848318bbcb18f48/rpy2-3.0.5.tar.gz 错误:命令 python setup.py egg_info 的完整输出: 错误:回溯(最近一次通话最后一次): 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\msvc.py”, 第 477 行,在 init 中 self.vc_ver = self.find_available_vc_vers()[-1] IndexError: 列表索引超出范围
在处理上述异常的过程中,又发生了一个异常:
Traceback(最近一次调用最后一次): 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\sandbox.py”, 第 157 行,在 save_modules 中 节省的产量 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\sandbox.py”, 第 198 行,在 setup_context 屈服 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\sandbox.py”, 第 248 行,在 run_setup 中 DirectorySandbox(setup_dir).run(runner) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\sandbox.py”, 第 278 行,运行中 返回函数() 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\sandbox.py”, 第 246 行,在亚军中 _execfile(setup_script, ns) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\sandbox.py”, 第 47 行,在 _execfile 中 exec(代码,全局变量,局部变量) 文件“C:\Users\pablo\AppData\Local\Temp\easy_install-uj2tljdw\cffi-1.12.3\setup.py”, 第 127 行,在 通过以下任一方式使用 R 自己的 C-API: 文件“C:\Users\pablo\AppData\Local\Temp\easy_install-uj2tljdw\cffi-1.12.3\setup.py”, 第 105 行,在 uses_msvc 别的: 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\distutils\command\config.py”, 第 227 行,在 try_compile 中 self._compile(body, headers, include_dirs, lang) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\distutils\command\config.py”, 第 133 行,在 _compile self.compiler.compile([src], include_dirs=include_dirs) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\distutils_msvccompiler.py”, 第 304 行,在编译中 self.initialize() 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\distutils_msvccompiler.py”, 第 197 行,初始化 vc_env = _get_vc_env(plat_spec) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\msvc.py”, 第 172 行,在 msvc14_get_vc_env 中 return EnvironmentInfo(plat_spec, vc_min_ver=14.0).return_env() 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\msvc.py”, 第 771 行,在 init 中 self.si = SystemInfo(self.ri, vc_ver) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\msvc.py”, 第 480 行,在 init 中 引发 distutils.errors.DistutilsPlatformError(err) distutils.errors.DistutilsPlatformError:需要 Microsoft Visual C++ 14.0。使用“Microsoft Visual C++ Build Tools”获取它: http://landinghub.visualstudio.com/visual-cpp-build-tools
在处理上述异常的过程中,又发生了一个异常:
Traceback(最近一次调用最后一次):文件“”,第 1 行,in 文件 "C:\Users\pablo\AppData\Local\Temp\pip-install-p0dcir5m\rpy2\setup.py", 第 184 行,在
'rpy2': ['doc/source/rpy2_logo.png', ]} 文件 "c:\users\pablo\appdata\local\programs\python\python36-32\lib\distutils\core.py",
第 108 行,在设置中 _setup_distribution = dist = klass(attrs) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\dist.py”, 第 315 行,在 init 中 self.fetch_build_eggs(attrs['setup_requires']) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\dist.py”, 第 361 行,在 fetch_build_eggs replace_conflicting=真, 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\pkg_resources__init__.py”, 第 850 行,解决中 dist = best[req.key] = env.best_match(req, ws, installer) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\pkg_resources__init__.py”, 第 1122 行,在 best_match 中 返回 self.obtain(req, 安装程序) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\pkg_resources__init__.py”, 第 1134 行,在获取 返回安装程序(要求) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\dist.py”, 第 429 行,在 fetch_build_egg 返回 cmd.easy_install(req) 文件 "c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\command\easy_install.py", 第 665 行,在 easy_install 中 return self.install_item(spec, dist.location, tmpdir, deps) 文件 "c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\command\easy_install.py", 第 695 行,在 install_item 中 dists = self.install_eggs(规格,下载,tmpdir) 文件 "c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\command\easy_install.py", 第 876 行,在 install_eggs 中 返回 self.build_and_install(setup_script, setup_base) 文件 "c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\command\easy_install.py", 第 1115 行,在 build_and_install self.run_setup(setup_script, setup_base, args) 文件 "c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\command\easy_install.py", 第 1101 行,在 run_setup 中 运行设置(设置脚本,参数) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\sandbox.py”, 第 251 行,在 run_setup 中 增加 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\contextlib.py”, 第 100 行,在 退出 self.gen.throw(类型,值,回溯) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\sandbox.py”, 第 198 行,在 setup_context 屈服 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\contextlib.py”, 第 100 行,在 退出 self.gen.throw(类型,值,回溯) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\sandbox.py”, 第 169 行,在 save_modules 中 saved_exc.resume() 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\sandbox.py”, 第 144 行,在简历中 六.reraise(类型,exc,self._tb) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\pkg_resources_vendor\six.py”, 第 685 行,在再加注中 提高 value.with_traceback(tb) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\sandbox.py”, 第 157 行,在 save_modules 中 节省的产量 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\sandbox.py”, 第 198 行,在 setup_context 屈服 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\sandbox.py”, 第 248 行,在 run_setup 中 DirectorySandbox(setup_dir).run(runner) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\sandbox.py”, 第 278 行,运行中 返回函数() 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\sandbox.py”, 第 246 行,在亚军中 _execfile(setup_script, ns) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\sandbox.py”, 第 47 行,在 _execfile 中 exec(代码,全局变量,局部变量) 文件“C:\Users\pablo\AppData\Local\Temp\easy_install-uj2tljdw\cffi-1.12.3\setup.py”, 第 127 行,在 通过以下任一方式使用 R 自己的 C-API: 文件“C:\Users\pablo\AppData\Local\Temp\easy_install-uj2tljdw\cffi-1.12.3\setup.py”, 第 105 行,在 uses_msvc 别的: 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\distutils\command\config.py”, 第 227 行,在 try_compile 中 self._compile(body, headers, include_dirs, lang) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\distutils\command\config.py”, 第 133 行,在 _compile self.compiler.compile([src], include_dirs=include_dirs) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\distutils_msvccompiler.py”, 第 304 行,在编译中 self.initialize() 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\distutils_msvccompiler.py”, 第 197 行,初始化 vc_env = _get_vc_env(plat_spec) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\msvc.py”, 第 172 行,在 msvc14_get_vc_env 中 return EnvironmentInfo(plat_spec, vc_min_ver=14.0).return_env() 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\msvc.py”, 第 771 行,在 init 中 self.si = SystemInfo(self.ri, vc_ver) 文件“c:\users\pablo\appdata\local\programs\python\python36-32\lib\site-packages\setuptools\msvc.py”, 第 480 行,在 init 中 引发 distutils.errors.DistutilsPlatformError(err) distutils.errors.DistutilsPlatformError:需要 Microsoft Visual C++ 14.0。使用“Microsoft Visual C++ Build Tools”获取它: http://landinghub.visualstudio.com/visual-cpp-build-tools ---------------------------------------- 错误:命令“python setup.py egg_info”失败,错误代码为 1 C:\Users\pablo\AppData\Local\Temp\pip-install-p0dcr5m\rpy2\
【问题讨论】: