【问题标题】:missing _ctypes and without yum and pkg缺少 _ctypes 并且没有 yum 和 pkg
【发布时间】:2020-01-04 09:51:12
【问题描述】:

我试图在 freebsd 机器上安装 python 3.7.4。 在make install结尾处弹出错误。

ModuleNotFoundError: No module named '_ctypes'

Libffi 由源码安装,前缀设置为$HOME/lib/libffi

尝试1.我试过安装cpython,在make install末尾安装setuptools成功。然后我在源代码安装numpy的时候,出现了同样的错误。

所以我删除了 cpython 并尝试再次安装常规的。

尝试2。根据this thread,我在做./configure时添加了一些东西。完整的命令是:

./configure --enable-optimizations --prefix=$HOME/programs/python --enable-shared LDFLAGS="-L$HOME/lib" CPPFLAGS="-I $HOME/lib/libffi/lib/libffi-3.2.1/include"

但是make install结尾处弹出同样的错误

尝试 3。我尝试在其上强制安装 anaconda,但没有成功。

旁注 1:yum 和机器上不存在,我没有 root 访问权限。

旁注2:我已经删除了Makefile中的每个-fprofile-correction,因为机器无法识别它。

旁注 3:这是在 make 的末尾附近找到的:

Python build finished successfully!
(...)
Failed to build these modules:
_ctypes

【问题讨论】:

  • 您必须返回日志,并检查为什么 _ctypes 无法构建(可能在链接中找不到 libffi 库时间?)。
  • 日志文件不包含原因。唯一关联的是building '_ctypes_test',并且没有显示错误消息。
  • 我宁愿使用包安装它。命令“sudo pkg install python37”将安装 python-3.7.4 零问题。通常,当在包或端口中找不到软件时,从源安装是最后的手段。
  • 不,它也不包含 pkg。 yum 和 pkg 的构建都失败了。

标签: python python-3.x freebsd


【解决方案1】:

FreeBSD 用户自己构建一个已经正式移植到操作系统的软件包几乎总是一个错误。

你应该做的是:

    cd /usr/ports/lang/python37
    make install clean

【讨论】:

  • 但是,那里的文件只包含python23~python25。有办法更新吗?
  • 您的 ports-collection 严重 过时了 -- lang/python37 port 已经有一年多了。使用these methods 之一刷新/usr/ports/,然后重试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-18
  • 1970-01-01
  • 2013-10-19
  • 1970-01-01
  • 1970-01-01
  • 2011-10-31
相关资源
最近更新 更多