在安装python 2.6.5时获取“无法构建这些模块:

2022年 10月 18日 发表评论
免费、便宜/高性价比 服务器汇总(已更新):点击这里了解

本站教程收集整理的这篇文章主要介绍了在安装python 2.6.5时获取“无法构建这些模块:_curses _curses_panel _ssl”,本站教程本站觉得挺不错的,现在分享给大家,也给大家做个参考。

我是python和ubuntu的新手.我正在尝试在ubuntu 12.10上安装python 2.6.5.我已经有python 2.7.3并且我试图在现有的python上并排安装2.6.5.执行make时出现以下错误:

Failed to find the necessary bits to build these modules:  _bsddb             bsddb185           dl  imageop            linuxaudiodev      ossaudiodev  sunaudiodev  To find the necessary bits, look in setup.py in detect_modules() for the module's name.    Failed to build these modules:  _curses            _curses_panel      _ssl  

我最担心的是_ssl模块.我使用了./configure –with-ssl,如in another post所述,但消息仍然相同.任何指针赞赏.

附加说明:习惯抱怨它无法构建bz2,但我修复了with this post entry重新编译bzip2.现在它归结为_ssl.我不确定我是否需要_curses.

编辑:找到make日志文件,看起来这是因为python 2.6.5支持ssl v2,而这个支持在Ubuntu中删除了.日志文件包含:

*** WARNING: renaming "_ssl" since imporTing it Failed: build/lib.linux-x86_64-2./_ssl.so: undefined symbol: SSLv2_method  

This blog在没有ssl v2支持的情况下重建了python 2.6.8.我正在尝试在2.6.5源代码中进行更改.

编辑2:如上所述修改2.6.5源并删除ssl v2支持修复了_ssl模块未构建的问题.另外,这是我之前尝试安装的软件包列表:

apt-get install libreadline-dev  apt-get install libssl-dev (already installed)  apt-get install libbz2-dev (already installed)  apt-get install build-essential (already installed)  apt-get install sqlite3  apt-get install tk-dev  apt-get install libsqlite3-dev  apt-get install libc6-dev (already installed)  apt-get install libgdbm-dev  apt-get install libncursesw5-dev  

这是make的完整输出:

running build  running build_ext  building '_curses' extension  gcc -pthread -fPIC -fno-Strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -WStrict prototypes -I. -I/tmp/nimbula/python-2.6.5/./Include -I. -IInclude -I./Include -I/usr/local/include -I/tmp/nimbula/python-2.6.5/Include -I/tmp/nimbula/python-2.6.5 -c /tmp/nimbula/python-2.6.5/Modules/_cursesmodule.c -o build/temp.linux-x86_64-2.6/tmp/nimbula/python-2.6.5/Modules/_cursesmodule.o  building '_curses_panel' extension  gcc -pthread -fPIC -fno-Strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -WStrict-prototypes -I. -I/tmp/nimbula/python-2.6.5/./Include -I. -IInclude -I./Include -I/usr/local/include -I/tmp/nimbula/python-2.6.5/Include -I/tmp/nimbula/python-2.6.5 -c /tmp/nimbula/python-2.6.5/Modules/_curses_panel.c -o build/temp.linux-x86_64-2.6/tmp/nimbula/python-2.6.5/Modules/_curses_panel.o    Failed to find the necessary bits to build these modules:  _bsddb             bsddb185           dl  imageop            linuxaudiodev      ossaudiodev  sunaudiodev  To find the necessary bits, look in setup.py in detect_modules() for the module's name.    Failed to build these modules:  _curses            _curses_panel    running build_scripts  

编辑3:耶,谢谢你们提出这些问题.当我查看我之前安装的软件包时,一个显然看起来不太好,libncursesw5-dev(因为它有一个版本,我从一个旧帖子中得到它).我尝试了以下内容,它解决了_curses和_curses_panel没有构建的问题:

apt-get install libncurses-dev  

安装libncurses-dev之后,我执行了:make clean,./ configure –with-ssl,make.

现在make的输出是:

running build  running build_ext    Failed to find the necessary bits to build these modules:  _bsddb             bsddb185           dl  imageop            linuxaudiodev      ossaudiodev  sunaudiodev  To find the necessary bits, look in setup.py in detect_modules() for the module's name.    running build_scripts  

解决方法:

你没有给我们足够的信息来真正知道发生了什么;构建输出和构建日志是有原因的……

但我可以猜测大约80%的信心:

您没有安装正确的标头来构建它们.

例如,如果您已经为libssl安装了dpkg而没有为libssl-dev安装,那么您将无法构建_ssl.在Ubuntu上,只需要sudo apt-get install libssl-dev并修复它.在不同的发行版中,它可能类似于libssl-devel,ssl-dev等.但是开发pacakages的基本概念在任何地方都是一样的:要运行需要foo的程序,你只需要foo包,但要构建一个需要foo的程序,你也需要foo开发包.

对于其中一些库来说,你丢失哪个包并不是很明显,但你仍然可以通过查看日志告诉它找不到的库或头文件的名称,你可以搜索,或者在Ubuntu论坛上询问,找出哪个包提供了丢失的文件.

本站总结

以上是本站教程为你收集整理的在安装python 2.6.5时获取“无法构建这些模块:_curses _curses_panel _ssl”全部内容,希望文章能够帮你解决在安装python 2.6.5时获取“无法构建这些模块:_curses _curses_panel _ssl”所遇到的程序开发问题。

如果觉得本站教程网站内容还不错,欢迎将本站教程推荐给好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。

小咸鱼

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: