Python中文
首页
教程
问答
标签
搜索
登录
注册
用CM中的setup.py构建一个python包
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>编辑:这个问题有点太长了。这是我真正的问题:如何在CMake中使用setuptools(setup.py)构建和安装一个python包?下面显示了我的代码的详细信息(但是对于源代码外的构建方法,具有源代码的方法正在工作)。</p> <hr/> <p>我有一个项目需要分发我自己的python包。我制作了setup.py脚本,但我想用CMake构建并安装它。</p> <p>我遵循了<a href="https://stackoverflow.com/questions/13298504/using-cmake-with-setup-py?newreg=c95d86b7b27645e4b608b29352eb2ebb">Using CMake with setup.py</a>,但它只在setup.py和python文件夹旁边的一个CMakeLists.txt中工作,而不从构建目录执行cmake。</p> <p>使用此布局:</p> <pre><code>Project/ --build/ --lib/ ----python/ ------folder1/ ------folder2/ ------data/ ------... ------__init__.py ----setup.py ----CMakeLists.txt --CMakeLists.txt </code></pre> <p>使用CMakeLists.txt:</p> <pre><code>cmake_minimum_required(VERSION 2.8.8 FATAL_ERROR) add_subdirectory(lib) (..) </code></pre> <p>以及lib/CMakeLists.txt:</p> <pre><code>find_program(PYTHON "python") if (PYTHON) set(SETUP_PY_IN "${CMAKE_CURRENT_SOURCE_DIR}/setup.py") set(SETUP_PY "${CMAKE_CURRENT_BINARY_DIR}/setup.py") set(DEPS "${CMAKE_CURRENT_SOURCE_DIR}/python/__init__.py") set(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/build") configure_file(${SETUP_PY_IN} ${SETUP_PY}) add_custom_command(OUTPUT ${OUTPUT} COMMAND ${PYTHON} ARGS setup.py build DEPENDS ${DEPS}) add_custom_target(target ALL DEPENDS ${OUTPUT}) install(CODE "execute_process(COMMAND ${PYTHON} ${SETUP_PY} install)") endif() </code></pre> <p>使用setup.py</p> <pre><code>from setuptools import setup, find_packages setup(name="python", version="xx", author="xx", packages = find_packages(), package_data = {'': ['*.txt']}, description="Python lib for xx") </code></pre> <p>当我从build目录运行CMake,然后make时,目标是build,但没有任何内容。好像没有找到包裹。安装程序将安装不带.py文件的python包。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>setuptools不知道源代码外的构建,因此找不到任何python源文件(因为您没有将它们复制到binary dir,所以那里似乎只存在<code>setup.py</code>文件)。为了解决这个问题,您必须将python源代码树复制到<code>CMAKE_CURRENT_BINARY_DIR</code>。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在Excel中读取公式并将其转换为Python中的计算?
9 回答
如何在excel中读取嵌入的excel,并将嵌入文件中的信息存储在主excel文件中?
6 回答
如何在Excel中返回未知列长度的非空顶行列值?
9 回答
如何在excel中选择数据列?
5 回答
如何在Excel中通过脚本自动为一列中的所有单元格创建公共别名
1 回答
如何在excel中高效格式化范围AttributeError:“tuple”对象没有属性“fill”
7 回答
如何在excel单元格中编写python函数
2 回答
如何在excel单元格中自动执行此python代码?
1 回答
如何在excel工作表中创建具有相应值的新列
8 回答
如何在Excel工作表中复制条件为单元格颜色的python数据框?
4 回答
如何在Excel工作表中循环
2 回答
如何在excel工作表中打印嵌套词典?
7 回答
如何在excel工作表中绘制所有类的继承树?
6 回答
如何在Excel工作表中自动调整列宽?
2 回答
如何在excel工作表中追加并进一步处理
7 回答
如何在excel工作表之间进行更改?
4 回答
如何在excel或csv上获取selenium数据?
1 回答
如何在Excel或Python中将正确的值赋给正确的列
6 回答
如何在excel或python中提取单词周围的文本?
7 回答
如何在excel或python中转换来自Jira的3w 1d 4h的fromat数据?
9 回答