【Python】pip模块部署——组件virtualenv和pipreqs

pip使用说明

包管理软件pip说明
本地版本20.3.4
使用帮助pip -h
基本语法pip <command> [options]
Commands 参数

check命令,测试 pip check six,返回 No broken requirements found,个人理解就是用于查看代码库与其依赖是否兼容。

Commands说明
install安装代码库
download下载,保存为 whl 格式
uninstall卸载
freeze以requirements格式输出已安装的代码库
list列出已安装代码库
show查看某已安装库的详细信息
check验证某已安装库是否具有兼容的依赖项
configManage local and global configuration.
searchSearch PyPI for packages.
cacheInspect and manage pip’s wheel cache.
wheelBuild wheels from your requirements.
hashCompute hashes of package archives.
completionA helper command used for command completion.
debugShow information useful for debugging.
helpShow help for commands.
General Options
General Options说明
–verbose冗长/更详细的信息,例如pip show urllib3 -v
–requirements一次安装多个代码库

依赖部署

对Python项目进行依赖管理,常常使用 virtualenv 代码库部署一个虚拟独立的Python环境,与本地的Python环境隔离,从而避免代码库的混淆。

当前需求

拿到了一份PY文件,手动安装依赖比较慢,寻求一种自动化部署方案。

pip freeze

执行命令:pip freeze | cat,发现结果与 pip list 的结果基本相同。这种方式配合virtualenv 才好使,否则把整个环境中的包都列出来了。

命令shell直接执行 pip freeze
作用输出已安装代码库清单及其版本信息
注意输出的是本地pip安装的代码库,而不是指定项目或py文件的
virtualenv代码库

管理项目依赖,依靠的基础是virtualenv------用来建立一个虚拟的python环境,一个专属于项目的python环境。在虚拟python环境中,使用 pip freeze 命令就可以打包项目依赖。

pip show virtualenv		# 发现本地没有安装该代码库
pip install virtualenv	#安装代码库

virtualenv 代码库是我们开发Python项目时需要注意的,但我们拿到的py文件并没有维护代码库清单,此时我们的需求是找出py文件的依赖。

pipreqs代码库

这里要介绍到一款组件:pipreqs,该组件可以自动 根据源码生成 requirements.txt。(这正是我所需要的功能)

安装到成功为Python项目生成 requirements.txt 的全过程:

pip install pipreqs 	# 安装

pipreqs					# 命令行使用,发生报错 command not found

pip show -f pipreqs		# 查看pipreqs的详细信息,-f表示文件。找到 pipreqs 的命令解释器位置

/Users/didi/Library/Python/2.7/bin ./	# 检查项目目录,生成相应的requirements.txt

pip install -r requirements.txt			# 下载所需模块

我们的口号是:解放人力!!
在这里插入图片描述

报错 zsh: command not found: pipreqs

通过安装位置 Location: /Users/didi/Library/Python/2.7/lib/python/site-packages 和相对路径 ../../../bin/pipreqs 找到命令位置:/Users/didi/Library/Python/2.7/bin
在这里插入图片描述

报错 Max retries exceeded with url: /pypi/lib/json

报错信息:requests.exceptions.SSLError: HTTPSConnectionPool(host=‘pypi.python.org’, port=443): Max retries exceeded with url: /pypi/lib/json (Caused by SSLError(SSLEOFError(8, u’EOF occurred in violation of protocol (_ssl.c:727)’),))

解决办法:关闭科学上网。

参考

python三大神器之virtualenv

浅谈pipreqs组件(自动生成需要导入的模块信息)

pipreqs使用笔记

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值