jTa*_*les 6 python centos build python-2.7 centos7
我正在尝试在安装了其他 Python 的 CentOS 7 多用户系统上从源代码构建 Python 2.7。我最初是用 gcc 6.3.0 构建 Python 2.7.15 并带有以下标志:
./configure --prefix=/path/to/install --enable-shared --enable-optimizations
Run Code Online (Sandbox Code Playgroud)
在遇到一些构建错误后,我尝试了:
./configure --prefix=/path/to/install --enable-shared --enable-optimizations --with-ensurepip --enable-unicode=ucs4
Run Code Online (Sandbox Code Playgroud)
我遇到了两个主要错误。首先,我过去只将 PYTHONPATH 设置为顶级 lib 目录。例如:PYTHONPATH=/path/to/python/lib/python2.7 使用这个构建 python 无法在 lib-dynload 中找到模块,除非我设置 PYTHONPATH=/path/to/python/lib/python2.7:/path/to /python/lib/python2.7/lib-dynload 第二个问题是(在将 PYTHONPATH 设置为包含 lib-dynload 之后)当我尝试运行 pip 时,我从weakref.py收到以下错误:ImportError: cannot import name _remove_dead_weakref I不确定其他模块有哪些错误,但如果这不是与 weakref.py 隔离,我不会感到惊讶
我尝试了以下修改:
请不要回复不包括从源代码构建的解决方案
更新
我进入了提交历史,看看我是否能找到添加了“_remove_dead_weakrefs”的版本。Python 2.7.14 是第一个带有此代码的版本,Python 2.7.13 没有它。
我能够在我的系统上编译 2.7.13,现在可以在 python 中导入 weakref 允许我运行 pip。此外,我不必将 PYTHONPATH 指向 lib-dynload 目录。如果我发现此版本的其他错误,或者如果我发现为什么 '_remove_dead_weakref' 似乎对我来说已损坏,我将再次更新。
我很好奇为什么会这样。如果有任何 Python 专家有一些见解,我很想听听
| 归档时间: |
|
| 查看次数: |
1427 次 |
| 最近记录: |