我正在尝试构建本地版本的Python3 (具体来说是Python3.7, 但同样问题也出现在3.6.6上),但在链接到某些C库和/或头文件时遇到问题(至少我认为问题是这个)。
我能够构建Python3.7,但在bzip2方面遇到了问题(但我怀疑还会有其他系统库我缺少并且不知道)。当尝试导入需要bzip2的各种包/模块时,会出现导入错误的情况。
从这个stackoverflow问题 - 问问题 - 看起来我构建的Python没有正确的bz2头文件。Python本身的构建并不失败。
具体问题是如何构建带有bz2的本地版本的Python?更一般地说,问题是如何正确地链接到系统库?(因为可能会有其他我没有遇到错误的库)
就我尝试的内容而言 - 我发现了这个(旧的)问题 - 如何将bz2分配给python的altinstall?和这个较新的问题在Python2中编译bz2支持,并基于这些尝试了一些东西。
我遇到的第一个问题实际上是找到正确的库等进行链接(上面的解决方案建议设置
我在
我能够构建Python3.7,但在bzip2方面遇到了问题(但我怀疑还会有其他系统库我缺少并且不知道)。当尝试导入需要bzip2的各种包/模块时,会出现导入错误的情况。
ModuleNotFoundError: No module named '_bz2'
从这个stackoverflow问题 - 问问题 - 看起来我构建的Python没有正确的bz2头文件。Python本身的构建并不失败。
具体问题是如何构建带有bz2的本地版本的Python?更一般地说,问题是如何正确地链接到系统库?(因为可能会有其他我没有遇到错误的库)
就我尝试的内容而言 - 我发现了这个(旧的)问题 - 如何将bz2分配给python的altinstall?和这个较新的问题在Python2中编译bz2支持,并基于这些尝试了一些东西。
我遇到的第一个问题实际上是找到正确的库等进行链接(上面的解决方案建议设置
CFLAGS="-I/path/to/bz2/include"
和LDFLAGS="-L/path/to/bz2/lib"
)。由于Ubuntu 16.04系统安装的Python2.7和Python3.5没有bzip2问题,因此这些应该在我的系统某处(ubuntu 16.04)。我在
/lib/x86_64-linux-gnu/
中找到了libbz2.so.1
(和其他一些文件),但是这些文件夹似乎没有遵循上面的示例/答案中的模式。因此,我在我的本地文件夹中构建了一个新的bz2本地版本(在.bzp
中),然后尝试使用以下内容链接到它,当我尝试构建Python3.7时:./configure --prefix=/home/user/.localpython CFLAGS="-I/home/user/.bz2/include" LDFLAGS="-L/home/user/.bz2/lib"
我也尝试了一种更通用的配置(它基本上是基于第二篇文章中链接到的使用bz2支持编译Python。)
./configure --prefix=/home/user/.python CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"
(两者都没有成功)
任何指针、技巧等都非常感激 - 预先感谢!