如何使用pipreqs创建requirements.txt文件

Eri*_*pur 9 python dependencies python-3.x

我正在尝试使用 pipreqs 包生成一个 requirements.txt 文件。按照文档的示例,我一直无法使其工作。

看起来很简单,文档告诉我在终端中使用这个命令:

$ pipreqs /home/project/location
Run Code Online (Sandbox Code Playgroud)

就我而言,这是我项目的位置:

$ pipreqs /Users/ep9k/Desktop/UVA\ Big\Deal
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

FileNotFoundError: [Errno 2] No such file or directory: '/Users/ep9k/Desktop/UVA BigDeal/requirements.txt'
Run Code Online (Sandbox Code Playgroud)

错误信息是正确的,那个目录下没有requirements.txt文件。我正在尝试使用 pipreqs 创建 requirements.txt 文件。

阅读文档后,pipreqs 应该扫描 python 文件中的导入语句,并基于此构建 requirements.txt 文档。所以我也尝试了这个,使用我想要 pipreqs 扫描的文件:

$ pipreqs /Users/ep9k/Desktop/UVA\ Big\Deal/1FigrFunctions.py
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误,这与上面的几乎相同:

FileNotFoundError: [Errno 2] No such file or directory: '/Users/ep9k/Desktop/UVA BigDeal/1FigrFunctions.py/requirements.txt'
Run Code Online (Sandbox Code Playgroud)

我相信解决方案是显而易见的。我究竟做错了什么?

小智 15

我发现如何使用以下步骤解决此错误 - 如果您想指定 python 文件的完整路径,请使用此 -

pipreqs --encoding utf-8 "C:\Users\username\Downloads\Bl_container\training\fold\"
Run Code Online (Sandbox Code Playgroud)

另外,python 文件应该单独存在于文件夹中。

如果您当前位于 python 文件目录中,请使用 -

pipreqs --encoding utf-8 "./"
Run Code Online (Sandbox Code Playgroud)

使用编码来消除地图错误。确保您没有连接到任何 VPN,否则可能会收到HTTPConnection错误。


Eri*_*pur 12

我回答了我自己的问题。我认为这些错误是由于我试图运行 pipreqs 的目录中有一堆文件。为了解决这个问题,我创建了一个名为“test”的新空目录,并将我想要为其生成 requirements.txt 的文件放在该目录中。所以我的新“test”目录中只有一个文件。然后我按如下方式运行命令:

$ pipreqs /Users/ep9k/Desktop/test
Run Code Online (Sandbox Code Playgroud)

它奏效了。真的很简单...

  • 对我来说,它创建一个空的需求文件,从张量流环境中运行命令。为了解决这个问题,我必须仅在项目文件夹中创建它。 (2认同)

小智 10

使用Pigar代替,我有很多问题pipreqs

https://github.com/Damnever/pigar

pip install pigar
Run Code Online (Sandbox Code Playgroud)

然后,从控制台转到项目的目录并使用以下命令:

pigar generate
Run Code Online (Sandbox Code Playgroud)

这将在您的目录中生成一个 requeriments.txt 文件,如下所示:

# Automatically generated by https://github.com/damnever/pigar.

# Editable install with no version control (mysql-connector-python==8.0.33)
-e c:\programdata\miniconda3\lib\site-packages\mysql_connector_python-8.0.33-py3.10.egg-info
opencv-python==4.7.0.72
openpyxl==3.1.2
pandas==2.0.1
PySide2==5.15.2.1
Run Code Online (Sandbox Code Playgroud)


Mar*_*sic 7

你有没有尝试过:

$ pipreqs --encoding utf-8 "/Users/ep9k/Desktop/UVA/Big/Deal" --force
Run Code Online (Sandbox Code Playgroud)

我已成功为一个目录中的多个 .py 文件创建requirement.txt。