首页 > 解决方案 > 发布 PIP 包,需要显式设置 PYTHONPATH?

问题描述

我正在尝试发布我的第一个 PIP 包,我对此有些担心。

这是我的包的结构。让我们称我的包狐狸。

project-folder
    fox
        exceptions.py
        ...
        user.py
    setup.py
    readme.md
    LICENSE

在构建这个包时,我冒昧地PYTHONPATH在我的 shell 中明确设置,这样我就可以像导入我的包一样

import fox
fox.user() # do something

我注意到在发布 PIP 包时,我们不必指定如何设置 PYTHONPATH。

我的问题是,我们是否需要在某处编写脚本并明确指定export PYTHONPATH语句,以便用户以相同的方式导入包?

还是 PIP 已经隐含地为我们做到了?

标签: pythonpip

解决方案


你不能指望你的用户使用与 POSIX 兼容的 shell。无论如何,您的包不应该与用户的环境混淆。在这里设置用户的PYTHONPATH方法根本不是正确的方法。

相反,您(可选)做的是import在模块的__init__.py

import user, exceptions

推荐阅读