那年夏天

Python3 模块/包 开发

2019-01-12  本文已影响1人  坚持到底v2

一. 安装pypi私服上的python包

方式1: 直接使用pip -i

pip -i http://10.126.154.1:18083/repository/swrdcucc-group/simple install Flask -- trusted-host pypi.douban.com

方式2: 使用配置文件

mkdir ~/.pip
cat >  ~/.pip/pip.conf << EOF
[global]
index-url = http://10.126.154.1:18083/repository/swrdcucc-group/simple
extra-index-url=http://mirrors.aliyun.com/pypi/simple/


[install]
trusted-host = 10.126.154.1
trusted-host = pypi.tuna.tsinghua.edu.cn

EOF

index:私服地址,填写不带 simple/ 的信息
index-url:私服具体地址,增加带 simple/ 信息
trusted-host :私服主机

注:在引用时使用group模式,为了加入官网的和私服的包

常用镜像
官网 https://pypi.python.org/simple/
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/


二. 发布包/模块到pypi私服

目录格式

按照如下目录存放, 其中 suba 是包的名称, my_module 是模块名。
setup.py 用于定义模块名称、包含的模块等模块信息

├── setup.py
├── suba
    ├─ __init__.py
    ├─ my_module.py

setup.py中的内容示例:

from distutils.core import setup

setup(
  name="模块名称", 
  version="版本", 
  description="模块描述", 
  author="模块作者", 
  py_modules=['suba.my_module']
)

然后构建模块 -- 执行 setup.py :

python setup.py build

# 执行后多了一个目录 build , 如下所示: 

├── build
    ├─ lib
        ├─ suba
            ├─ __init__.py
            ├─ my_module.py
├── setup.py
├── suba
    ├─ __init__.py
    ├─ my_module.py

或生成发布压缩包:

python setup.py sdist

# 执行后多了一个目录 build , 如下所示: 

├── dist
    ├─ 模块名称-版本.tar.gz 
├── setup.py
├── suba
    ├─ __init__.py
    ├─ my_module.py

或安装模块

python setup.py install
# 或
python setup.py install --prefix=安装路径

此时,该模块已经安装到系统中,可以直接使用import关键字进行导入模块

上传包/模块

待验证

# 创建配置文件
cat >> ~/.pipyrc <<EOF
[distutils]
index-servers =
  pypi

[pypi]
repository=https://pypi.python.org/pypi
username=your_username
password=your_password
EOF

# 更改 ~/.pypirc 的访问权限
chmod 600 ~/.pypirc

python setup.py register -r pypi
python setup.py sdist upload -r pypi


三. 其他信息

#  安装包
pip3 install setuptools wheel

# 打包
python setup.py sdist bdist_wheel

# 上传
twine  upload dist/*  --repository-url http://10.126.154.1:18083/repository/swrdcucc-hosted/ -u wenhx8 -p mcsemcse
上一篇 下一篇

猜你喜欢

热点阅读