【发布时间】:2022-08-10 01:43:43
【问题描述】:
Python(v3.9) 及其pip 实用程序的新手。不是使用任何类型的虚拟环境(这是我正在使用的 Mac OS 笔记本电脑)。我之前通过以下方式生成了deployment package:
python3 -m pip install --target ./package -r requirements.txt
我添加了一些源文件,这些源文件引入了其他一些库,现在我正在尝试更新我的requirements.txt 文件以将这些库包含在未来的部署包中。我的理解如何做到这一点是通过(从项目根目录运行):
python3 -m pip freeze
但我想确保pip 确实会引入我最近添加的新依赖项,因此我没有修改requirements.txt,而是选择尝试在测试/临时文件上使用pip freeze,看看会发生什么:
python3 -m pip freeze -r piptest.txt
## The following requirements were added by pip freeze:
首先,如果不先创建一个空白/空piptest.txt 文件,它甚至不会让我运行它。但是一旦我这样做了,它就会以上面的输出运行,piptest.txt 仍然是空的。
我是否误解了 pip freeze 的使用意图?我的理解就是你用pip freeze生成需求文件,然后就可以利用随后,该需求文件可以执行任何其他操作,包括(我的情况)使用它生成部署包。所以如果我的理解有误导,请纠正我!如果不是,那么为什么piptest.txt 在我运行后仍然为空?
标签: python-3.x aws-lambda pip