如何从另一个文件夹中获取 python 包要求?
How to get python package requirements from another folder?
这太简单了,不明白为什么它不起作用。
我在 folder1
中打开了我的 CMD。它的工作目录是 folder1
.
folder1 --> folder2
我在 folder2
中有一堆 python
个文件。我想获取其 requirements.txt
文件并将其驻留在 folder1
.
中
同样,在 folder1
打开我的 CMD,我 运行 pip freeze --path ./folder2 > requirements.txt
returns folder1
中的空 requirements.txt
文件。如果我 运行 pip freeze
在 folder2
内,我获得一个需求列表没问题。
这看起来很基础,但为什么 --path
不能按我想要的方式工作?
您将项目文件夹与 pip 安装位置混合在一起 site-packages。这就是 --path 参数所指的内容。由于您似乎不熟悉虚拟环境,因此您没有任何虚拟环境,并且您的 2 个项目文件夹使用的是完全相同的包,您只需通过
即可获得 requirements.txt
pip freeze > requirements.txt
这对于您的 2 个项目文件夹没有什么不同。
pip freeze
输出的是安装的软件包列表。通常它只是读取 site-packages
。 path
参数只是限制它应该列出哪些包,所以你说 从文件夹 1 中取出所有 site-packages 并将它们限制在文件夹 2 下,这显然 returns空列表。
你想要做的是 运行 正确的 pip - 我猜你在 folder2
下有一些 virtualenv,所以它将是 folder2/<your venv>/bin/pip freeze
.如果你还没有,那么实际上你通过 pip
安装的所有东西都会进入同一个全局 site-packages
,所以你将无法仅过滤 folder2
中文件使用的文件。
我的解决方案是使用 pipreqs
CMD
在 folder1
中打开,我 运行 pipreqs ./folder2 --savepath requirements.txt
一个 requirements.txt
文件出现在 folder1
中。这些软件包基于 folder2
.
中的 python
文件
这太简单了,不明白为什么它不起作用。
我在 folder1
中打开了我的 CMD。它的工作目录是 folder1
.
folder1 --> folder2
我在 folder2
中有一堆 python
个文件。我想获取其 requirements.txt
文件并将其驻留在 folder1
.
同样,在 folder1
打开我的 CMD,我 运行 pip freeze --path ./folder2 > requirements.txt
returns folder1
中的空 requirements.txt
文件。如果我 运行 pip freeze
在 folder2
内,我获得一个需求列表没问题。
这看起来很基础,但为什么 --path
不能按我想要的方式工作?
您将项目文件夹与 pip 安装位置混合在一起 site-packages。这就是 --path 参数所指的内容。由于您似乎不熟悉虚拟环境,因此您没有任何虚拟环境,并且您的 2 个项目文件夹使用的是完全相同的包,您只需通过
即可获得 requirements.txtpip freeze > requirements.txt
这对于您的 2 个项目文件夹没有什么不同。
pip freeze
输出的是安装的软件包列表。通常它只是读取 site-packages
。 path
参数只是限制它应该列出哪些包,所以你说 从文件夹 1 中取出所有 site-packages 并将它们限制在文件夹 2 下,这显然 returns空列表。
你想要做的是 运行 正确的 pip - 我猜你在 folder2
下有一些 virtualenv,所以它将是 folder2/<your venv>/bin/pip freeze
.如果你还没有,那么实际上你通过 pip
安装的所有东西都会进入同一个全局 site-packages
,所以你将无法仅过滤 folder2
中文件使用的文件。
我的解决方案是使用 pipreqs
CMD
在 folder1
中打开,我 运行 pipreqs ./folder2 --savepath requirements.txt
一个 requirements.txt
文件出现在 folder1
中。这些软件包基于 folder2
.
python
文件