首页 > 解决方案 > 使用共享包构建 Python 项目的最佳方式是什么?

问题描述

我目前正在与几个使用该包的项目同时开发一个包,并且我正在努力弄清楚如何构建我的目录树和导入。

理想情况下,我想要这样的东西:

main_directory
├── shared_package
│   ├── __init__.py
│   ├── package_file1.py
│   └── package_file2.py
├── project1
│   ├── main.py
│   ├── module1.py
│   └── other_package
│       ├── __init__.py
│       └── other_package_file.py
└── project2
    └── ...

我不知道如何使导入工作干净地shared_package从 project1 中的 python 文件导入。有没有首选的方法来做到这一点?

任何帮助,将不胜感激!

标签: pythonpython-3.xprojectpython-import

解决方案


shared_package最终将是独立的。其他人会以正常方式导入和安装它,它会与其余的 python 模块一起存储在其中site-packages或任何地方。

要复制这一点,我建议只更新您PYTHONPATH的指向main_directory(或您放置的任何位置shared_package) - 这样,

import shared_package

如果shared_package正常安装,代码仍然可以正常工作,因为无论哪种方式它都在 pythonpath 上。

请注意,这PYTHONPATH是一个环境变量,因此执行此操作的方法将根据您的操作系统而有所不同。无论如何,快速搜索如何在您的操作系统上永久修改变量应该很容易。


推荐阅读