【发布时间】:2017-01-19 03:06:55
【问题描述】:
我有一个主要使用 C++ 的项目,我使用 CMake 来管理它。在设置cmake_install_prefix 并进行配置后,它会生成makefile,然后可以使用这些makefile 以非常标准的方式构建和安装:
make
make install
此时,我的二进制文件最终位于cmake_install_prefix,无需额外工作即可执行它们。最近我在源代码树的一些地方添加了一些 Python 脚本,其中一些依赖于其他。我可以使用 CMake 将 Python 文件+目录结构复制到 cmake_install_prefix,但如果我进入该路径并尝试使用其中一个脚本,Python 找不到用作 imports 的其他脚本,因为 PYTHONPATH 确实不包含cmake_install_prefix。我知道您可以使用 CMake 设置环境变量,但它不会在 shell 中持续存在,因此对于用户而言,除了当前终端会话之外,它并不是真正的“设置”。
解决方案似乎是在您的软件构建说明中添加一个步骤,即“设置您的 PYTHONPATH”。有没有办法避免这种情况?这是将 Python 脚本作为更大项目的一部分“安装”的标准做法吗?为项目设置持续集成之类的事情似乎真的很复杂,因为像 Jenkins 这样的东西必须手动配置以注入环境变量,而它不需要什么特别的东西来构建和执行从 c++ 代码构建的可执行文件。
【问题讨论】: