ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python – 散景服务器的入口点

2019-05-27 15:47:00  阅读:192  来源: 互联网

标签:python setuptools bokeh setup-py


我提供了一个工具作为我的python包的一部分,使用散景可视化参数空间.启动它的正常方法是:

$bokeh serve --show my_package/tools/my_tool.py

这将打开浏览器并显示交互式图.
但是,当我使用pip / PyPI安装此软件包时,用户无法轻松访问此文件夹,因此我想在setup.py中为此提供一个入口点.

包装布局:

folder
|
|--- my_package
|     |
|     |- __init__.py
|     |- __main__.py
|     |- some_code.py
|     |
|     +--- tools
|           |
|           +--- my_tool.py
|
+--setup.py

在我的setup.py中,我已经指定了main方法的入口点:

setup.py

from setuptools import setup, find_packages

setup(
    name = "my_package",
    packages = find_packages(),
    entry_points = {
        'console_scripts': [
            'my_package = my_package.__main__:main'
          ]
    },
    [...],
)

但是,我发现启动散景服务器并显示界面的唯一方法是创建另一个这样的python脚本

import os
from subprocess import call

def main():
    p = os.path.realpath(__file__)
    prefix, _ = os.path.split(p)
    bokeh_server_file = os.path.join(prefix, "my_tool.py")
    call(["bokeh", "serve", "--show", bokeh_server_file])

if __name__ == "__main__":
    main()

将它放在tools文件夹中,并为此脚本main方法创建一个入口点. *颤抖*必须有一个更好的方法来做到这一点.

是否可以使用setuptools提供这种入口点,还是有另一种方法来实现这种行为?

解决方法:

如果我没有弄错,你可以使用Embedding Bokeh Server as a Library文档中介绍的嵌入式服务器路由.关于在文档的这一部分之后使用散景服务器客户端api,有一个跟进线.听起来他们正在研究将来连接到服务器的更多方法,以及他们讨论用例的部分.

标签:python,setuptools,bokeh,setup-py
来源: https://codeday.me/bug/20190527/1164407.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有