问题描述
在我需要在本地安装 Python 3 和一些相关软件包以启用 Tkinter 设置并使用 openpyxl 使用 GUI 设置读取/写入 .xlsx 文件的情况下。
-
首先,我在本地安装了 Python 3.9.1,当我尝试执行“import tkinter”时,它说找不到所需的模块。
-
然后在本地安装 tcl 和 tk 库并重新编译 Python 库,如下所示。在这一步之后安装了 Python 3,然后也在构建 tkinter 库等。
./configure --prefix=~/installed --with-tcltk-libs='-L~/installed/lib' --with-tcltk-includes='-I~/installed/include
-
接下来我想在本地安装 openpyxl 来读/写 .xlsx 文件。所以我尝试使用 pip3 install openpyxl 进行安装,但它说
“ModuleNotFoundError:没有名为‘_ctypes’的模块”
-
尝试下载 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 文件?请提供您的建议!
解决方法
在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
使用 NDK
和 libffi
为 Android
像这样,但它应该适用于 GNU/Linux/x86
嗯。
我能够解决所有问题并在本地安装所需的 python n 依赖库。捕获了以下 git 链接中的所有步骤..
https://hellovimo.github.io/uvm_testbench_gen/localpythoninstall.html
谢谢!
,要么像建议的那样导出 LDFLAGS
、CFLAGS
和 PKG_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