【问题标题】:The Python module "psutil" failed to build on Windows 7 + VS2008SP1 environmentPython 模块“psutil”在 Windows 7 + VS2008SP1 环境下构建失败
【发布时间】:2012-04-14 15:03:54
【问题描述】:

我在 Windows 7(64 位)上设置 VS 2008 SP1 并尝试构建 psutil,得到以下错误。 VS 2008 已正确设置并成功修补了 SP1。

我根据包中的 INSTALL 文件运行了“python setup.py build”命令。

c:\src\psutil>python setup.py build --verbose 运行构建 运行 build_py 运行 build_ext 构建“_psutil_mswindows”扩展 c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:C:\python_26_amd64\files\libs /LIBPATH:C:\python_26_amd 64\files\PCbuild\amd64 psapi.lib kernel32.lib advapi32.lib shell32.lib netapi32。 lib iphlpapi.lib /EXPORT:init_psutil_mswindows build\temp.win-amd64-2.6\Release\ psutil/_psutil_mswindows.obj build\temp.win-amd64-2.6\Release\psutil/_psutil_com mon.obj build\temp.win-amd64-2.6\Release\psutil/arch/mswindows/process_info.obj build\temp.win-amd64-2.6\Release\psutil/arch/mswindows/process_handles.obj 构建 \temp.win-amd64-2.6\Release\psutil/arch/mswindows/security.obj /OUT:build\lib.wi n-amd64-2.6\_psutil_mswindows.pyd /IMPLIB:build\temp.win-amd64-2.6\Release\psuti l\_psutil_mswindows.lib /MANIFESTFILE:build\temp.win-amd64-2.6\Release\psutil\_p sutil_mswindows.pyd.manifest 创建库 build\temp.win-amd64-2.6\Release\psutil\_psutil_mswindows.lib 和对象 build\temp.win-amd64-2.6\Release\psutil\_psutil_mswindows.exp_psutil_mswindows.obj:错误 LNK2019:未解析的外部符号 __imp__Py_BuildValue 在中引用函数_get_system_uptime process_info.obj:错误 LNK2001:未解析的外部符号 __imp__Py_BuildValue process_handles.obj:错误 LNK2001:未解析的外部符号 __imp__Py_BuildValue _psutil_mswindows.obj:错误 LNK2019:未解析的外部符号 __imp__PyBool_FromLong 在函数 _pid_exists 中引用 _psutil_mswindows.obj:错误 LNK2019:未解析的外部符号 __imp__PyArg_ParseTuple 在函数 _pid_exists 中引用 _psutil_mswindows.obj:错误 LNK2019:未解析的外部符号 __imp__PyList_Append 在函数 _get_pid_list 中引用 process_info.obj:错误 LNK2001:未解析的外部符号 __imp__PyList_Append process_handles.obj:错误 LNK2001:未解析的外部符号 __imp__PyList_Append _psutil_mswindows.obj:错误 LNK2019:未解析的外部符号 __imp__PyList_New 在函数 _get_pid_list_psutil_mswindows.obj 中引用:错误 LNK2019:未解析的外部符号 __imp___Py_NoneStruct 在函数 _kill_process 中引用 _psutil_mswindows.obj:错误 LNK2019:函数 _kill_process 中引用的未解析的外部符号 __imp__PyErr_SetFromWindowsErr process_info.obj:错误 LNK2001:无法解析的外部符号 __imp__PyErr_SetFromWindowsErr security.obj:错误 LNK2001:无法解析的外部符号 __imp__PyErr_SetFromWindowsErr _psutil_mswindows.obj:错误 LNK2019:函数 _process_wait 中引用的未解析的外部符号 __imp__PyInt_FromLong _psutil_mswindows.obj:错误 LNK2019:未解析的外部符号 __imp__PyEval_RestoreThread 在函数 _process_wait 中引用 _psutil_mswindows.obj:错误 LNK2019:函数 _process_wait 中引用的未解析的外部符号 __imp__PyEval_SaveThread _psutil_mswindows.obj:错误 LNK2019:未解析的外部符号 __imp__PyErr_Clear 在函数 _get_process_cmdline 中引用 _psutil_mswindows.obj:错误 LNK2019:函数 _get_process_cwd 中引用的未解析的外部符号 __imp__PyUnicodeUCS2_AsUTF8String process_info.obj:错误 LNK2001:无法解析的外部符号 __imp__PyUnicodeUCS2_AsUTF8String _psutil_mswindows.obj:错误 LNK2019:函数 _get_process_cwd 中引用的未解析的外部符号 __imp__PyUnicodeUCS2_FromWideChar process_info.obj:错误 LNK2001:未解析的外部符号 __imp__PyUnicodeUCS 2_FromWideChar process_handles.obj:错误 LNK2001:无法解析的外部符号 __imp__PyUnicodeUCS2_FromWideChar _psutil_mswindows.obj:错误 LNK2019:函数 _get_process_connections 中引用的未解析的外部符号 __imp__PyExc_TypeError _psutil_mswindows.obj:错误 LNK2019:函数 _get_process_connections 中引用的未解析的外部符号 __imp__PyErr_SetString _psutil_mswindows.obj:错误 LNK2019:函数 _get_process_connections 中引用的未解析的外部符号 __imp__PyExc_NotImplementedError _psutil_mswindows.obj:错误 LNK2019:未解析的外部符号 __imp__PyTuple_New 在函数 _get_process_connections 中引用 _psutil_mswindows.obj:错误 LNK2019:未解析的外部符号 __imp__PySequence_Contains 在函数 _get_process_connections 中引用 _psutil_mswindows.obj:错误 LNK2019:未解析的外部符号 __imp__PySequence_Check 在函数 _get_process_connections 中引用 _psutil_mswindows.obj:错误 LNK2019:未解析的外部符号 __imp__PyLong_FromLong 在函数 _get_process_connections 中引用 _psutil_mswindows.obj:错误 LNK2019:函数 _is_process_suspended 中引用的未解析的外部符号 __imp___Py_ZeroStruct _psutil_mswindows.obj:错误 LNK2019:函数 _is_process_suspended 中引用的未解析的外部符号 __imp___Py_TrueStruct _psutil_mswindows.obj:错误 LNK2019:函数 _get_network_io_counters 中引用的未解析的外部符号 __imp__PyDict_SetItem _psutil_mswindows.obj:错误 LNK2019:未解析的外部符号 __imp__PyUnicodeUCS2_FromObject 在函数 _get_network_io_counters 中引用 process_info.obj:错误 LNK2001:无法解析的外部符号 __imp__PyUnicodeUCS2_FromObject process_handles.obj:错误 LNK2001:未解析的外部符号 __imp__PyUnicodeUCS2_FromObject _psutil_mswindows.obj:错误 LNK2019:函数 _get_network_io_counters 中引用的未解析的外部符号 __imp__PyExc_RuntimeError process_info.obj:错误 LNK2001:无法解析的外部符号 __imp__PyExc_RuntimeError _psutil_mswindows.obj:错误 LNK2019:未解析的外部符号 __imp__PyDict_New 在函数 _get_network_io_counters 中引用 _psutil_mswindows.obj:错误 LNK2019:函数 _get_disk_io_counters 中引用的未解析的外部符号 __imp__PyDict_SetItemString _psutil_mswindows.obj:错误 LNK2019:未解析的外部符号 __imp__PyModule_AddIntConstant 在函数 _init_psutil_mswindows 中引用 _psutil_mswindows.obj:错误 LNK2019:函数 _init_psutil_mswindows 中引用的未解析的外部符号 __imp__PyErr_NewException _psutil_mswindows.obj:错误 LNK2019:未解析的外部符号 __imp__Py_InitModule4 在函数 _init_psutil_mswindows 中引用 _psutil_common.obj:错误 LNK2019:未解析的外部符号 __imp__PyErr_SetObject 在函数 _NoSuchProcess 中引用 _psutil_common.obj:错误 LNK2019:未解析的外部符号 __imp__PyObject_CallFunction 在函数 _NoSuchProcess 中引用 _psutil_common.obj:错误 LNK2019:函数 _NoSuchProcess 中引用的未解析的外部符号 __imp__PyExc_OSError process_info.obj:错误 LNK2019:函数 _get_process_info 中引用的未解析的外部符号 __imp__PyErr_Format build\lib.win-amd64-2.6\_psutil_mswindows.pyd : 致命错误 LNK1120: 34 unresolved externals 错误:命令 '"c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\link.exe"' 失败,退出状态为 1120

你知道默认 distutils 配置中缺少哪个库吗?如何在我的环境中成功构建 psutil?

【问题讨论】:

    标签: windows visual-studio build


    【解决方案1】:

    为了其他有相同问题的人的利益:确保使用 Visual Studio x64 命令提示符来启动安装脚本。

    【讨论】:

    • 如果你设置了 Visual Studio x64 (instructions) 它应该可以正常工作。
    • 要点似乎是您的开发环境应该与所使用的 Python 的风格相匹配(在本例中为 32 位或 64 位)。
    猜你喜欢
    • 1970-01-01
    • 2018-06-17
    • 2021-02-17
    • 2019-05-01
    • 1970-01-01
    • 2019-04-08
    • 2020-10-06
    • 1970-01-01
    • 2021-04-27
    相关资源
    最近更新 更多