- 1 开发工具 IDE
- 1.1 开发工具概述
- 1.2 IDE Eclipse
- 1.3 IDE IntelliJ IDEA
- 1.4 IDE Pycharm
- 1.5 IDE Visual Studio Code
- 本章参考
- 2 项目构建工具
- 2.1 概述
- 2.2 make/makefile
- 2.3 make 家族
- 2.4 Ant
- 2.5 Maven
- 2.6 Gradle
- 2.7 sbt
- 本章参考
- 3 包/模块管理
- 3.1 软件包管理 .package (按 OS 划分)
- 3.2 模块管理.module (按语言划分)
- 3.3 自定义安装程序
- 本章参考
- 4 软件制品仓库 Artifactory
- 4.1 仓库
- 4.2 仓库管理软件
- 本章参考
- 5 软件设计工具
- 模型和代码转化工程
- 6 其它工具技巧
- 远程终端 SSH
- 开发
- 源码、文档编辑
- 小技巧
- 本章参考
- 参考资料
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
4.1 仓库
4.1.1 pypi
pip 国内的一些镜像
- 阿里云 https://mirrors.aliyun.com/pypi/simple/
- 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
- 豆瓣(douban) https://pypi.douban.com/simple/
- 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
pypi 源配置:windows 下/pip/pip.ini,linux 下/.pip/pip.conf,可以配置多源
;linux: pip.conf, windows: pip.ini
[global]
index-url = https://pypi.doubanio.com/simple/
extra-index-url=xxx.xxx.xxx
[install]
trusted-host=pypi.doubanio.com xxx.xxx.xxx
[search]
index-url=https://pypi.doubanio.com/simple/
pypi 私服常用工具有:pypi-server, devpi,
pypi-server 搭建私服
1)安装
# 更新工具,不更新无法识别 long_description
$ python3 -m pip install --user --upgrade setuptools wheel twine
# 安装 pypiserver
$ pip install pypiserver
# 启动 pypi-server
$ pypi-server -p 8080 -P ~/packages
说明:在没有显示指定任何启动参数的时候, pypiserver 是使用 ~/packages (-P 参数指定包路径)来保存 Python 包,同时监听 8080 端口(-p 参数指定监听端口)来提供 PyPI 服务。
2)启动私服
pypi 仓库配置文件:~/.pypirc
# 不同段需要换行
[distutils]
index-servers = localhost
pypi
[localhost]
repository: http://localhost:8080
username: keefe
password: 123456
[pypi]
repository: https://upload.pypi.org/legacy/
username: keefe
password:
默认情况下,pypiserver 的上传操作是 密码保护的。
启动带密码的私服,需要 passlib、apach2-utils 支持,用 htpasswd 生成密码文件(下面示例中密码文件是.pypipasswd)
pypi-server 启动参数:
- -P 参数用来指定密码文件。
- -a 用来指定需要密码保护的操作。
- 当
-P . -a .
这两个参数同时指定为.
时,表示所有的操作都不需要密码保护。
# 带密码保护启动,-P 指定密码文件.pypipasswd
$ pypi-server -P ~/.pypipasswd
# 或者 无密码保护启动:-a -p 同时指定为.时,关闭密码保护
$ pypi-server -P . -a .
查看私服 : http://localhost:8080
3)使用
第一次访问会询问 pypi 账户,之后访问.pypirc 文件
$ python setup.py register
# 检查 打包格式是否正确
$ twine checkout dist/*
# 本地测试
$ python -m pytest
# 可指定打包类型:源码包 sdist, 二进制包 bdis.
$ python setup.py sdis bdis_wheel upload -r pypi
# 上传文件到缺省仓库-github
$ python setup.py upload
# 上传文件到私服-localhost, -r 指定仓库名,配置信息在~/.pypirc
$ python setup.py sdist upload -r localhost
# 使用私服: 安装 install、搜索 search
$ pip install --extra-index-url http://localhost:8080/ PACKAGE [PACKAGE2...]
$ pip search -i http://localhost:8080 demo
$ pip install -i http://localhost:8080 demo
4.1.2 conda
anaconda pycharm 的官方仓库。
# conda 配置国内源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
4.1.3 maven
Maven 仓库的目的是作为团队内所使用的所有软件构件的内部私有构件仓库,将 Maven 构件(jar 和 pom)存储到一个专门的 Maven 仓库比将它们存储到版本控制系统中更有优势,这是因为:
- 构件(jar)是二进制文件,不属于版本控制系统,版本控制系统在处理文本文件方面比较好
- 保持较小的版本控制数据库
- Checkout、update 和其他版本控制的操作可以更快
常用三种 Maven 仓库管理软件:chiva、Artifactory 和 Nexus。
Maven 构件库的类型
maven 仓库分为本地仓库和远程仓库,而远程仓库又包括私服和中央仓库。
- 本地仓库——位于开发者的机器,由开发者维护,它从位于 HOME 目录(~/.m2) 目录的‘settings.xml’文件中定义的 Maven 仓库上同步,如果在 pom.xml 或 setting.xml 文件中没有设置内部私有远程仓库, 那么开发者机器上的这个本地仓库就会从 ibiblio.org 上的公用 Maven 仓库上同步。
- 远程仓库(内部私有~私服):这是我们将要设置的仓库,我们将改变 maven 的 pom.xml 或 settings.xml 文件来使用这个库。
- 远程仓库(中央仓库):maven 公司提供的最大的仓库( ibiblio.org ),里面拥有最全的 jar 包资源,默认情况下,Maven 从这个仓库上同步。私服上没有时会到中央仓库去寻找。中央仓库在外网,下载速度慢。
- 远程仓库(第三方公共库):其它情况。
4.1.4 npm
详见 《 web 前端框架分析 》npm 章节
# $ cat ~/.npmrc
prefix=~/.nodejs/node_global
cache=~/.nodejs/node_cache
registry=https://registry.npm.taobao.org/
proxy=
4.1.5 docker
详见 《 docker 用户手册 》
# 登陆 docker Hub, 推送镜像
$ docker login
$ docker push [image:tag]
# 创建私有仓库 Docker Registry 2.0(需 docker 版本高于 1.6.0),Registry 2 不包含界面、用户管理、权限控制等功能,如果想使用这些功能,可使用 Docker Trusted Registry.
$ docker run -d -p 5000:5000 --restart=always --name registry2 registry:2
# 修改 tag,如果 tag 前不加 host:port/,缺省将推送到 github 相应的镜像里(如果有权限)
$ docker tag [old_image:tag] [localhost:5000/new_image:tag]
$ docker push [localhost:5000/new_image:tag]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论