pyscaffold建立项目管理

📅 2026/7/28 18:39:22 👁️ 阅读次数 📝 编程学习
pyscaffold建立项目管理

pyscaffold

新建一个python项目的管理软件。一个命令就可以putup my_project即可。
PyScaffold helps you to easily setup a new Python project.

安装

三种方法:

pipinstallpyscaffold pipinstallpyscaffold[all]condainstall-c conda-forge pyscaffold

我试过第一种,发现有时候会遇到bug,your setuptools version is too old (<12).
但是pip install -U setuptools无法解决问题。这与pyscaffold的版本有关。为了方便的解决这些。我直接利用了第三种方法。毕竟这地方不是我们的重点。

最后的requirement

annoy1.15.2bert-serving-client1.9.1certifi2019.6.16faiss1.5.3pip19.2.2pyarrow0.14.1PyScaffold3.2.1setuptools41.2.0six1.12.0wheel0.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

总结

  1. pyscaffold模板化利于管理
  2. python setup.py test/install/sdist/bdist等来对源码测试、安装到本地、打源码包,打发布包
  3. 打包的时候需要meta信息,为了更简单,可以直接在setup.py里的setup里直接写。简单。
  4. 然后发布到远程仓库

参考文献

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/