pyscaffold
新建一个python项目的管理软件。一个命令就可以putup my_project即可。
PyScaffold helps you to easily setup a new Python project.
安装
三种方法:
pip install pyscaffold
pip install pyscaffold[all]
conda install -c conda-forge pyscaffold
我试过第一种,发现有时候会遇到bug,your setuptools version is too old (<12).
但是pip install -U setuptools无法解决问题。这与pyscaffold的版本有关。为了方便的解决这些。我直接利用了第三种方法。毕竟这地方不是我们的重点。
最后的requirement
annoy 1.15.2
bert-serving-client 1.9.1
certifi 2019.6.16
faiss 1.5.3
pip 19.2.2
pyarrow 0.14.1
PyScaffold 3.2.1
setuptools 41.2.0
six 1.12.0
wheel 0.33.4
新建python项目
putup my_project
这时候就有了模板话的python项目,有文档、作者、代码、测试等。
如下:
AUTHORS.rst
LICENSE.txt
docs
setup.cfg
src
CHANGELOG.rst
README.rst
requirements.txt
setup.py
tests
为什么需要模板,是因为简单快捷,而且这些部分一般情况下都需要,是为了更好的把这个项目标准化。
其他操作
python setup.py docs 文档化
python setup.py test (python setup.py test --addopts -h) 测试py.test里的东西
后面pip install -r requirement.txt则会在其他项目安装。
为了简单,只要修改setup.py就可以了
打包
Source Distribution Package(源码打包)
This will create a source “tarball” package.
python setup.py sdist
Binary Distribution Package(二进制打包)
This will create a binary architecture-dependent package.
python setup.py bdist
个人喜好只改setup.py
VERSION = "1.0.0"
setup(
name='xx1',
version=VERSION,
description='xx2',
url="xx3",
long_description="test for pyscaffold",
author='xx4',
author_email='xx5',
install_requires=["six", "pyscaffold", "sphinx","boto3","pandas","modelhub"]
)
如何发布到仓库repository
twine upload -r pypi-xx dist/your_project-1.0.1.tar.gz
总结
- pyscaffold模板化利于管理
- python setup.py test/install/sdist/bdist等来对源码测试、安装到本地、打源码包,打发布包
- 打包的时候需要meta信息,为了更简单,可以直接在setup.py里的setup里直接写。简单。
- 然后发布到远程仓库
参考文献
https://pypi.org/project/PyScaffold/
https://lingxiankong.github.io/2013-12-23-python-setup.html
https://github.com/pyscaffold/pyscaffold/
https://pypi.org/project/twine/
使用PyScaffold轻松创建和管理Python项目
PyScaffold是一个用于快速搭建Python项目的工具,它提供了模板化的项目结构,包括文档、代码、测试等内容。通过简单的命令如`putup my_project`即可创建项目。安装时,如果遇到setuptools版本问题,可以使用最新版本。项目创建后,可以使用`python setup.py`进行文档化、测试和打包等操作。打包包括源码和二进制两种形式。只需修改setup.py文件,即可完成大部分配置。发布到仓库时,需要meta信息,通过twine可以方便地上传到远程仓库。
604

被折叠的 条评论
为什么被折叠?



