【发布时间】:2020-11-05 01:19:40
【问题描述】:
项目设置如下:
---------------------
root
FrameworkPackage1
__init__.py
sourcefile1.py
FrameworkPackage2
__init__.py
sourcefile2.py
apps
Project
src
MyApp
__init__.py
__main__.py
setup.py
README.md
---------------------
当我创建 setup.py 时,据我了解,我使用 package_dir 来设置这些包的位置。
---------------------
packages=['MyApp', 'FrameworkPackage1', 'FrameworkPackage2'],
package_dir={'': 'src',
'FrameworkPackage1': '../../FrameworkPackage1',
'FrameworkPackage2': '../../FrameworkPackage2'}
---------------------
所以这正确地构建了一个包含所有必需文件的包。但是,当我尝试安装时,它会失败,如果我只是尝试解压缩/gz 包文件,它会将 FrameworkPackage1/2 放在解压缩发生的“../../..”目录中。
理想情况下,我希望包按如下方式工作并从 pip 安装,这样我就可以运行以下命令:
import MyApp as ma
import FrameworkPackage1 as fp1
import FrameworkPackage2 as fp2
print(ma.Function())
print(fp1.OtherFunction())
print(fp2.OtherFunction())
有没有办法将框架设置在“../../../”中但安装到发行版的根目录中?
【问题讨论】:
-
看看这个答案是否对你有帮助stackoverflow.com/a/17179022/4619142,你可能做错了什么。
-
你不应该做
'FrameworkPackage1': '../../FrameworkPackage1'吗?我的意思是../../../带你到root的父目录。还是你的目录布局显示有问题? -
是的!对不起..这是我的例子中的一个错误。我现在将编辑 + 更新
标签: python package setuptools