Python distutils为package_dir设置相对路径
发布时间:2020-12-20 13:44:16 所属栏目:Python 来源:网络整理
导读:我看过这里: How can I get my setup.py to use a relative path to my files? 和这里: python distutils does not include data_files 和这里: ?Confused about the package_dir and packages settings in setup.py 但没有找到爱情. 我怀疑distutils不支
我看过这里:
How can I get my setup.py to use a relative path to my files? 和这里: python distutils does not include data_files 和这里: 我怀疑distutils不支持我正在尝试使用的目录结构,但会喜欢确认和/或建议如何改进. 我有以下目录结构: /src ├── user ├── admin │?? ├── admin.py │?? ├── LICENSE.txt │?? ├── MANIFEST │?? ├── MANIFEST.in │?? ├── README.txt │?? └── setup.py └── lib ├── __init__.py ├── __init__.pyc ├── rcodes.py ├── rcodes.pyc ├── validation.py └── validation.pyc src中的几个项目依赖于lib包.但是,当尝试在/ src / admin中运行setup.py时,我无法在最终包中包含lib目录(使用setup.py sdist). Setup.py如下: setup( name='admin_server',version='0.0.0',author='Instamrkt',author_email='info@instamrkt.com',url='http://instamrkt.com',description='Instamrkt Admin Server',packages=['lib'],package_dir = {'lib': '../lib'},py_modules = [ 'admin','lib.rcodes','lib.validation' ],) 产量: [foozle@ip-172-31-36-251 admin]$python setup.py sdist running sdist running check reading manifest template 'MANIFEST.in' writing manifest file 'MANIFEST' creating admin_server-0.0.0 making hard links in admin_server-0.0.0... hard linking README.txt -> admin_server-0.0.0 hard linking admin.py -> admin_server-0.0.0 hard linking setup.py -> admin_server-0.0.0 Creating tar archive removing 'admin_server-0.0.0' (and everything under it) [foozle@ip-172-31-36-251 admin]$tar tzf ./dist/admin_server-0.0.0.tar.gz admin_server-0.0.0/ admin_server-0.0.0/PKG-INFO admin_server-0.0.0/admin.py admin_server-0.0.0/setup.py admin_server-0.0.0/README.txt 包lib缺少. 只是为了明确我希望在包中保留相同的目录结构,以便我可以在多个发行版中使用lib用于不同的应用程序. 谢谢! 解决方法
使用package_dir选项指向上游目录(‘../lib’)时,无法创建源分发,因为sdist将按原样复制整个源树,并且’../lib’最终在构建之外树.
但是,您可以创建二进制分发: python setup.py bdist 或者,如果使用setuptools: python setup.py bdist_wheel 如果您的模块是纯Python,则后者具有创建与系统无关的分发的优势. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |