Python 导入子包时获取包版本
我有一个git回购协议,我把它变成了一个包(根据这些) 它的文件层次结构是Python 导入子包时获取包版本,python,python-import,Python,Python Import,我有一个git回购协议,我把它变成了一个包(根据这些) 它的文件层次结构是 git_repo_name\folder1\functions1.py contaning func1a,func1b git_repo_name\folder1_init_uu.py git_repo_name\folder2\functions2.py包含func2a,func 2b,包含func2ca,func 1b git_repo_name\folder2_init_uu.py git\u repo\u na
- git_repo_name\folder1\functions1.py contaning func1a,func1b
- git_repo_name\folder1_init_uu.py
- git_repo_name\folder2\functions2.py包含func2a,func 2b,包含func2ca,func 1b
- git_repo_name\folder2_init_uu.py
- git\u repo\u name\u init\upy.git\u repo\u name\setup.py
- git\u repo\u name\requirements.txt
from git_repo_name.folder2 import func2a, func 2b
或
因为这样我就可以导入rapo_名称并使用
import repo_name
git_repo_name.__version__
但我的导入工作是这样的:
from folder2.functions2 import func2a
我无法让folder1和folder2从git_repo_name\setup.py中回显git_repo_name版本
我尝试添加以下代码
到git_repo_name\folder1_init_.py和到git_repo_name\folder2_init_.py
但是git\u repo\u name.\uu版本
,folder2.\uu版本
和git\u repo\u name.folder2.\uu版本
都失败
谢谢允许这样做的正确文件结构是 git_repo_name\package_name\folder1
git_repo_name\package_name\folder2
git\u repo\u name\u init\uy.py git\u repo\u name\setup.py 在我的例子中,package_name是git_repo_name 这允许
import package_name
package_name.__version__
from pkg_resources import get_distribution, DistributionNotFound
import os.path
try:
_dist = get_distribution('git_repo_name')
dist_loc = os.path.normcase(_dist.location)
here = os.path.normcase(__file__)
if not here.startswith(os.path.join(dist_loc, 'git_repo_name')):
raise DistributionNotFound
except DistributionNotFound:
__version__ = 'Please install this project with setup.py'
else:
__version__ = _dist.version
import package_name
package_name.__version__