Python 項目打包,上傳至Artifactory,並下載安裝

Python Packing

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章