有时我从github下载python源代码,不知道如何安装所有的依赖项。如果没有requirements.txt文件,我必须手工创建它。 问题是: 给定python源代码目录,是否有可能从导入部分自动创建requirements.txt ?


当前回答

首先,你的项目文件必须是一个py文件,这是直接的python文件。如果你的文件是ipynb格式,你可以使用下面的代码行将它转换为py类型:

jupyter nbconvert --to=python

然后,您需要从cmd (mac终端)安装pipreqs库。

pip install pipreqs

现在我们可以使用下面的代码创建txt文件。如果你和你的文件在同一路径,你可以写。/。否则,你需要给你的文件路径。

pipreqs ./

or

pipreqs /home/project/location

这将为您的项目创建一个requirements.txt文件。

其他回答

Python 3的最佳方式是:

pip3 freeze > requirements.txt

这对我很管用……

在我的例子中,我使用Anaconda,所以在我的环境中从conda终端运行以下命令解决了这个问题,并自动为我创建了这个requirements.txt文件:

conda list -e > requirements.txt

这是从这个Github链接pratos/condaenv.txt

如果看到错误,并且您正在使用anaconda,请尝试使用.yml选项:

conda env export > <environment-name>.yml

供其他人使用该环境,或者如果您正在另一台机器上创建新环境:

conda env create -f <environment-name>.yml

.yml选项在这里找到

自动更新requirements.txt的方法

在使用requirements.txt开发python应用程序时,我们有几个选择:

在开发完成后,当我们想要部署它时,生成requirements.txt。它由pip freeze > requirements.txt或pipreqs执行,以减少混乱的结果。 在每次安装后手动将每个模块添加到requirements.txt中。 安装管理器,它将为我们处理requirements.txt更新。

1-st选项有很多答案,2-d选项不言自明,所以我想描述3-d方法。有一个叫做to-requirements.txt的库。要安装它,输入以下命令:

pip install to-requirements.txt  # Pip install to requirements.txt

如果你一次阅读整个命令,你就会明白它是做什么的。安装后,您应该安装它。运行:

requirements-txt setup

它覆盖pip脚本,以便每个pip安装或pip卸载都自动使用所需版本的包更新项目的requirements.txt文件。重写是安全的,因此卸载此包后pip将正常运行。

你可以自定义它的工作方式。例如,全局禁用它,只在需要的目录中激活它,只在git存储库中激活它,或者允许/不允许创建requirements.txt文件(如果它不存在)。

链接:

文档- https://requirements-txt.readthedocs.io/en/latest/ GitHub - https://github.com/VoIlAlex/requirements-txt PyPI - https://pypi.org/project/to-requirements.txt/

要帮助解决这个问题,请始终只在本地包上运行requirements.txt。我所说的本地包是指只在项目文件夹中的包。要做到这一点,请做: Pip freeze -local > requirements.txt

不是pip freeze > requirements.txt。 注意,在local之前是双下划线。

不过,安装pipreqs也有帮助。 Pip安装Pip。

不过,最好的解决办法是准备一个皮夹。当您安装新的本地包时,pipfile会自行更新。它也有一个pipfile。锁类似于包。json。 要做到这一点,请使用pipenv而不是pip安装软件包。 我们用pipenv

如果你只想列出在virtualenv中使用的包,请使用:

pip freeze -l > requirements.txt