如何组织一个既包含可执行文件又包含同名包的python项目

时间:2015-01-13 08:17:40

标签: python linux

我经常创建提供包和可执行文件的python项目,在这些项目中使用相同的名称调用它们是有意义的。例如,我创建了一个密码程序实用程序abraxas,其中包含一个为我生成密码的程序,还提供了一个python库包,允许我从其他python脚本访问密码。每当我这样做,我都很难组织我的文件。我有以下约束我想要满足:

  1. 安装完成后,可执行文件和库应该具有相同的名称,以突出显示两者之间的关系(这意味着我想使用' abraxas'运行程序,并使用&#导入包39;导入abraxas')。
  2. 我必须能够从源目录运行程序而不正式安装可执行文件(以加快调试速度)。
  3. 我必须能够直接将包导入可执行文件。
  4. 我想避免黑客攻击sys.path。
  5. 我正在使用linux,所以我不想为我的可执行文件添加愚蠢的扩展名,例如.exe。
  6. 通常,可执行文件和包将位于同一目录中,但在这种情况下这不起作用,因为名称冲突。

    或者,我可以将可执行文件放在不同的目录中,但是如果没有先安装它,程序将无法运行,因为它无法自然地找到该包。

    我发现此问题的唯一解决方案是更改源目录中可执行文件的名称并将其放在包目录旁边;然后在安装后重命名可执行文件。

    有人能建议更好地解决这个问题吗?

0 个答案:

没有答案