代码之家  ›  专栏  ›  技术社区  ›  juiceb0xk

运行安装程序时更改程序包名称。py公司

  •  3
  • juiceb0xk  · 技术社区  · 6 年前

    我已经完成了回购协议,现在我克隆了它。运行安装程序时。py文件内部,Python将包作为一个模糊的名称安装在站点包中,在Python文件中导入该名称是不可行的。

    例如,我派生并克隆了一个名为 foo 。我也可以在设置中看到这一点。py文件:

    setup(
        name='foo',
        version='3.3.0-rc6',
        packages=find_packages('src'),
        package_dir={'': 'src'},
        include_package_data=True,
    

    当我跑步时 python setup.py install ,我发现软件包已安装为 foo-3.3.0rc6-py3.6.egg 。我不想在每个使用它的项目中都以这个名称导入包。

    如何将包名称更改为 foo公司 (通过setup.py运行/安装时),以便我可以运行 import foo 而不是 import foo-3.3... ?

    我觉得我不能只是重命名它,好像我想让其他用户克隆回购协议,而不必像我一样经历同样的麻烦。是安装程序中嵌入的包名称。py文件夹?

    如果你还需要什么,请告诉我,我愿意解决这个问题。

    2 回复  |  直到 6 年前
        1
  •  2
  •   phd    6 年前

    您不必导入 foo-3.3 ;实际上,您无法导入 SyntaxError

    您不必导入 foo-3.3 从…起 foo-3.3.0rc6-py3.6.egg 因为distutils/setuptools为鸡蛋配置了正确的导入路径。调查 easy-install.pth 文件,您可以在那里找到 ./foo-3.3.0rc6-py3.6.egg 。跑 python 并验证 sys.path -必须有 foo-3.3.0rc6-py3.6。鸡蛋 输入,以便 import foo 作品

        2
  •  2
  •   Nathaniel Ford    4 年前

    这只是鸡蛋的名字,你不用担心。Python知道在哪里查找包,因此在查找包时:

    import foo
    

    。。。它会做正确的事情。