python-3.x - 如何为 pkg-config 设置别名?

标签 python-3.x cabal haskell-stack pkg-config nix

我收到这个错误:

Configuring cpython-3.4.0...
Cabal-simple_mPHDZzAJ_1.24.2.0_ghc-8.0.2: The pkg-config package 'python-3.4'
is required but it could not be found.

当我在设置 Stack 环境以测试 Haskell 的 CPython 模块的过程中运行(这些特定于 Haskell 的细节可能不相关)stack build

我通过 Nix 安装了 Python 3.4。 Nix 选择的命令是 python3.4,因此我从 python-3.4python3.4 创建了一个别名(通过添加行 alias python-3.4=python3.4 到我的 .bashrc 文件)。但是 pkg-config 仍然给我同样的错误。

我正在使用 KUbuntu(即带有 KDE 的 Ubuntu)版本 16.04。

--

根据 Grayson 先生的评论,变量 $PKG_CONFIG_PATH 似乎是空的:

jeff@jbb-lenovo:/nix$ echo $PKG_CONFIG_PATH

jeff@jbb-lenovo:/nix$ 

python-3.4.pc的路径和内容如下:

jeff@jbb-lenovo:/nix$ find . -name "python-3.4.pc"
./store/q5p46zmky5z6w54bh8gaqbgwkdbqk4qg-python3-3.4.7/lib/pkgconfig/python-3.4.pc
jeff@jbb-lenovo:/nix$ cat ./store/q5p46zmky5z6w54bh8gaqbgwkdbqk4qg-python3-3.4.7/lib/pkgconfig/python-3.4.pc
# See: man pkg-config
prefix=/nix/store/q5p46zmky5z6w54bh8gaqbgwkdbqk4qg-python3-3.4.7
exec_prefix=${prefix} libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: Python
Description: Python library
Requires: 
Version: 3.4
Libs.private: -lpthread -ldl -lcrypt -lncurses -lutil
Libs: -L${libdir} -lpython3.4m
Cflags: -I${includedir}/python3.4m

最佳答案

您需要将文件 python-3.4.pc 移动到 pkg-config 将查找的目录之一。

要查看所有目录搜索:

$ pkg-config --variable pc_path pkg-config

然后将文件放入列出的文件夹之一。

关于python-3.x - 如何为 pkg-config 设置别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46938020/

相关文章:

python - 给定一个数字n,找到最接近它且偶数位数最多的素数

python - 我需要从 python 中的机器学习模型中打印出超参数和参数

haskell - 如何在 cabal repl 中自动加载导入?

haskell - 堆栈运行单一基准测试

windows - 文件名与模块名不匹配

Python从不同版本导入不同的库

mysql - 解析 mysql.log 文件

haskell - 我的 Haskell 程序或库如何找到其版本号?

Haskell 依赖冲突

Haskell 堆栈 : Missing C library Xft when using stack building X11-xft?