我有一个包含多个python代码文件的项目。
我有一个模型文件,一个用于数据实用程序,一个用于训练模型。
我知道如何提交一个包含所有代码的模型在一个文件中。
如何指示T在我的项目中有更多文件?
也许需要在setup.py
文件或__init__.py
中添加一些内容。
我的目录如下所示:
setup.py
trainer/
__init__.py
task.py
model/
seq2seq.py
model.py
data_utli.py
答案 0 :(得分:1)
您无需手动创建自己的套餐,但如果您愿意,欢迎您加入。
使程序包自动运行有两个重要步骤:
setup.py
正确无误。在您的情况下,model
子目录导致问题。快速解决方法是将trainer/model/*
移至trainer/
。否则,您可能希望通过在model
子目录中添加(可能为空白)__init__.py
文件,使model/
成为正确的子包。
接下来,确保正确指定了setup.py
文件。 this documentation中提供了一个示例脚本,为方便起见,在此重复:
from setuptools import find_packages
from setuptools import setup
setup(name='trainer',
version='0.1',
include_package_data=True,
description='blah',
packages=find_packages()
)
您可以通过运行来验证它是否有效:
python setup.py sdist
这将创建一个带有dist
文件的trainer-0.1.tar.gz
子目录。提取该文件的内容表明所有文件都已正确包含在内:
$ cd dist
$ tar -xvf trainer-0.1.tgz
$ find trainer-0.1/
trainer-0.1/
trainer-0.1/setup.py
trainer-0.1/setup.cfg
trainer-0.1/trainer
trainer-0.1/trainer/data_util.py
trainer-0.1/trainer/task.py
trainer-0.1/trainer/__init__.py
trainer-0.1/trainer/model
trainer-0.1/trainer/model/__init__.py
trainer-0.1/trainer/model/model.py
trainer-0.1/trainer/model/seq2seq.py
trainer-0.1/PKG-INFO
trainer-0.1/trainer.egg-info
trainer-0.1/trainer.egg-info/dependency_links.txt
trainer-0.1/trainer.egg-info/PKG-INFO
trainer-0.1/trainer.egg-info/SOURCES.txt
trainer-0.1/trainer.egg-info/top_level.txt
答案 1 :(得分:0)