Python Project結構
python_project/
package/
__init__.py
xx.py
setup.py
LICENSE
README.md
上面是一個Python Project最基本的結構,包含:
- package folder:
__init__.py
和 你真正的Python module文件xx.py
setup.py
LICENSE
license 文件: 具體想要什麼樣license,可以去這裏找 https://choosealicense.com/README.md
不僅是README,甚至可以放一些配置文件,這些配置文件可以被諸如setup.py
所引用
__init__.py
將自己的module expose出去的配置文件;比如我自定義了了一個module rex_test
,我需要將其expose出去
#__init__.py
from . import rex_test
setup.py
關於如何package的一個configuration文件,例如
import setuptools
setuptools.setup(
name='rexg',
version='1.0.0',
author='Rex',
author_email='[email protected]',
description='Rex test Python packaging',
url='https://rexg.github.io/',
install_requires=[
'mlflow==1.0.0',
],
packages=setuptools.find_packages(),
classifiers=[
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
],
python_requires='>=3.6',
)
使用到的命令
打包
pip install --upgrade setuptools wheel
python setup.py sdist bdist_wheel
這是項目的 /dist
folder下就會生成 *.tar.gz
的打包文件;
上傳至Artifactory
pip install --upgrade twine
python -m twine upload -u <username> -p <passwd> -r <repo> --repository-url https://artifactory.xxx dist/*
引用
sudo pip install -i https://artifactory.xxx/simple rexg