2

在我需要在本地安装 Python 3 和一些相关软件包以启用 Tkinter 设置并使用 openpyxl 使用 GUI 设置读取/写入 .xlsx 文件的情况下。

  1. 首先,我在本地安装了 Python 3.9.1,当我尝试执行“import tkinter”时,它说找不到所需的模块。

  2. 然后在本地安装 tcl 和 tk 库并重新编译 Python 库,如下所示。在此步骤之后,安装了 Python 3,然后还构建了 tkinter 库等。

    ./configure --prefix=~/installed --with-tcltk-libs='-L~/installed/lib' --with-tcltk-includes='-I~/installed/include

  3. 接下来,我想在本地安装 openpyxl 以读取/写入 .xlsx 文件。所以我尝试使用 pip3 install openpyxl 安装,但它说

    “ModuleNotFoundError:没有名为 '_ctypes' 的模块”

  4. 尝试下载 libffi 并在本地安装。然后尝试使用以下命令重新编译 python 文件。

    ./configure --prefix=~/installed --with-tcltk-libs='-L~/installed/lib' --with-tcltk-includes='-I~/installed/include' LDFLAGS=`pkg-config --libs-only-L~/installed/lib/../lib64 -I~/installed/include

    但它无法获取相同的内容,并且在制作 python 文件期间,它说,“以下模块成功构建但由于无法导入而被删除:_ctypes”。

那么,如何确保获取所需/本地安装的 libffi 文件?请提供您的建议!

4

3 回答 3

0

出口PKG_CONFIG_PATH,之前:CFLAGS_LDFLAGS./configure

export PKG_CONFIG_PATH=/home/jacob/libffi/lib/pkgconfig
export CFLAGS=-I/home/jacob/libffi/include
export LDFLAGS=-L/home/jacob/libffi/lib

设法交叉编译Python 3.9.0使用和这样的Android/arm64,但它也应该适用。NDKlibffiAndroidGNU/Linux/x86

于 2021-02-01T22:40:09.017 回答
0

要么 export LDFLAGS,像建议的那样CFLAGSPKG_CONFIG_PATH要么直接将变量传递给配置脚本:

libffi='/path/to/libffi'

./configure \
    LDFLAGS="-L${libffi}/lib64 -Wl,--rpath=${libffi}/lib64" \
    CFLAGS="-I${libffi}/include" \
    PKG_CONFIG_PATH="${libffi}/lib/pkgconfig"

然后:

make && make install
于 2021-03-22T02:36:24.327 回答
0

我能够解决所有问题并在本地安装所需的 python n 依赖库。捕获了以下 git 链接中的所有步骤..

https://hellovimo.github.io/uvm_testbench_gen/localpythoninstall.html

谢谢 !

于 2021-02-04T22:49:23.853 回答