【问题标题】:Python Package on GitHubGitHub 上的 Python 包
【发布时间】:2021-07-18 19:20:57
【问题描述】:

我做了一个 python (3) 包,我一直在尝试将它上传到 Github。我也知道如何使用 pip 推送和安装 git。为了测试它是否按预期工作,我在本地计算机 (linux) 上创建了一个虚拟环境,然后 pip 将我已经推送的私有包安装在那里没有问题。

问题是我不知道如何访问它!!! (我知道如何激活和使用 virtualenvs;我不知道如何调用我的包)我的包有一个主界面,需要在终端中调用它,如下所示:

python3 myui.py some_args *.data

它应该在它被调用的地方创建一些文件。换句话说,它并不完全是像 numpy 这样的模块要导入。我在网上观看/阅读了许多教程和文档,但我在这里迷路了。

【问题讨论】:

  • Pip 在 vi​​rtualenv 文件夹 (stackoverflow.com/questions/29980798/…) 的 /lib/pythonX.Y/site-packages 子目录中安装包。您的包裹代码在那个位置吗?如果是,则站点包默认情况下应该在您的 PYTHONPATH 中,以便您可以调用 import your_package_name

标签: python git github package


【解决方案1】:

您正在寻找-m 标志。如果您正确安装了所有内容,那么以下命令应该允许您运行脚本(基于您的示例)。请注意,您不应添加文件扩展名“.py”。

python3 -m myui 一些参数 *.data


如果您有一个实际的包(包含 __init__.py 文件等的目录)而不是模块(单个 .py 文件),那么您可以将 __main__.py 文件添加到该包中。当您使用带有包名的 -m 标志时,Python 将执行此脚本,方式如上所示。

python3 -m mypackage 一些参数 *.data

如果您想运行嵌套在该包内某处的不同脚本,您仍然可以通过指定其模块名称来运行它:

python3 -m mypackage.subpackage.myscript 一些参数 *.data


另一种使脚本可用的常用方法是使用安装脚本 (setup.py) 或用于安装模块或软件包的安装配置文件 (setup.cfg)。在这种情况下,您可以添加一个入口点以将命令映射到特定的模块/功能/等。 (如in this Python packaging tutorial 所述),这样您就可以运行该命令,而不必在 Python 中使用 -m 标志。

$ mycommand 一些参数 *.data

【讨论】:

  • 非常感谢您解释我正在寻找的所有细节!
猜你喜欢
  • 2014-02-07
  • 2014-10-15
  • 2014-03-05
  • 2021-04-25
  • 1970-01-01
  • 1970-01-01
  • 2017-05-07
  • 2013-02-21
  • 2019-05-05
相关资源
最近更新 更多