python - 安装一个包并使用 pip 写入 requirements.txt

标签 python pip

我正在寻找一种使用 pip 安装包的方法,并将该包的版本信息写入我项目的 requirements.txt 文件。对于那些熟悉 npm ,它本质上就是 npm install --save 所做的。

使用 pip freeze > requirements.txt 效果很好,但我发现我忘记运行它,或者我可能不小心包含了我为测试而安装但决定不使用的未使用包使用。

所以下面的伪代码:

$ pip install nose2 --save

会产生一个 requirements.txt 文件,其中包含:

nose2==0.4.7

我想我可以调整 save 的输出来获取版本号,但我希望有更简单的方法。

最佳答案

要获取版本信息,实际上可以在安装后选择性地使用 pip freeze 。这是一个可以满足您要求的功能:

pip_install_save() {
    package_name=$1
    requirements_file=$2
    if [[ -z $requirements_file ]]
    then
        requirements_file='./requirements.txt'
    fi
    pip install $package_name && pip freeze | grep -i $package_name >> $requirements_file
}

注意 grep 命令的 -i。 Pip 对包名称不区分大小写,因此您可能会想要这样。

关于python - 安装一个包并使用 pip 写入 requirements.txt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20006000/

相关文章:

python - 将数据直接写入 tar 存档

python - 如何将第一列的值分成另外两列

python - 如何让emacs-jedi中的自动补全信息更紧凑?

python - 如何 pip 卸载使用 git 项目 URL 安装的包?

macos - 在 OS X/macOS 上使用 pip 安装 m2crypto 时遇到问题

python - Enthought Mayavi 动画空白显示

python - python中的子类方法重写

python - 超时后停止阻塞的 python 线程

python - 从 git 安装时,我可以强制 pip 进行浅表检查吗?

python - 无法在 ubuntu 上升级 redis-py 包