python setup.py bdist_wheel
然后将dist中的.whl文件给别人安装
安装命令:
pip install package_name.whl
python的相对导入 不能 出现在主脚本入口处
setup.py出现在要打包的文件夹的同级目录下
在这里,AI_Lab为要打包的库,info和dist是打包过程中出现的中间文件
setup.py的内容如下
setup(
name="AI_Lab",
version="1.0",
install_requires=[],
include_package_data=True,
packages=find_packages(),
package_data={
'AI_Lab': ['cls_module/DL_modeling/autoDL.json'], # 将除了.py文件的其他类型文件也包含在pkg中
},
extras_require={
'all': ['torch', 'torchvision', 'lightning', 'numpy', 'astor', 'opencv-python',
'scikit-learn', 'pysmb']
},
)
# export PYTHONPATH=/home/bennie/anaconda3/envs/for_pkg/lib/python3.9/site-packages/AI_Lab/
- 这样打包后安装的包,有一个路径的问题,如果库中有存在从包的根目录import的内容,以包的形式import时会出现import的问题,需要添加环境变量
export PYTHONPATH=/home/bennie/anaconda3/envs/for_pkg/lib/python3.9/site-packages/AI_Lab/
从中可以看出,该包被安装在anaconda的for_pkg的env中,需要将该路径添加在python的运行cmd中,或是pycharm的设置中,更详细的关于PYTHONPATH的说明,可以参考这个大佬
用一个python项目文件夹结构说明掌握 PYTHONPATH作用的重要性