我正在创建一个包装(并捆绑)DLL的Python包。我打算在车轮内发布基于预构建的基于sphinx的文档,并且可能添加一个入口点以方便启动浏览器来查看它们。
经过一些谷歌搜索后,我没有找到有关这种方法的更多信息。
这不是推荐的方法吗?请注意,这适用于不供公众使用的内部包,我希望包用户始终拥有适用于DLL版本的文档版本。
我正在寻找的是一种通过在setup.py文件中引用它们来包含构建的html文件的方法。我知道我可以在package_data
中对include_package_data
使用setup
和setup.py
关键字参数,但我相信这些与包名称有关,所以我认为使用这种方法对于这个应用程序来说会很混乱。
如果这不是正确的方法,我很想听到更好的选择!
我已经找到了一个解决方案,似乎使用data_files
工作正常,但它是丑陋的罪恶。解决方案基于这个answer。
在我的setup.py
我有这个:
def get_data_files(docs_root):
data_files = []
for dirname, dirs, files in os.walk(docs_root):
for f in files:
data_files.append(os.path.join(dirname, f))
return data_files
我将其称为data_files
关键字参数的一部分:
data_files = [('Lib/site-packages/<module_name>/docs', get_data_files('module_name/docs'))],
我对此的可移植性有所保留,但它似乎是唯一适用于我的可行选项,允许干净卸载。