点冻结显示所有库,而不是我的虚拟环境中的库

时间:2019-06-09 02:44:23

标签: python pip

Pip Freeze显示了我计算机上的所有库,而不仅仅是虚拟环境中的库。

我正在尝试为我的虚拟环境创建requirements.txt文件。我正在使用anaconda发行版。我正在创建一个烧瓶应用程序。我已经导航到我的项目文件夹,创建了添加了虚拟环境的flask,然后当我使命令pip冻结时,它清楚地显示了不在我的虚拟环境中的项目,例如xlwings,pandas和我使用的与flask无关的东西。

通过任何一种方式,我都可以从虚拟环境中创建需求文件。

我可以清楚地看到我的虚拟环境处于活动状态,左侧(venv)。

编辑:我创建了一个简短的视频,显示无论是否在虚拟环境中,我都得到相同的库列表。我还展示了我的虚拟环境中的站点包,并展示了这些库不存在的地方,我专门指出了xlwings。

https://youtu.be/xEFZ3dSaqoY

3 个答案:

答案 0 :(得分:0)

您需要在尝试运行冻结点的控制台中激活您的点环境。这样,它将使用环境的点而不是全局点。

因此,在控制台中,导航至虚拟环境文件夹。从那里转到“脚本”文件夹。然后在控制台中输入单词“激活”。

然后您应该在控制台光标旁边看到您的虚拟环境的名称。此时,您可以使用虚拟环境内部的pip,所有常规pip命令都将指向该pip。

答案 1 :(得分:0)

所以我不确定为什么会这样,但是我删除了虚拟环境并重新创建了它(我以前有一个正确的requirements.txt文件)。然后我再次进行点冻结,一切都正常。不知道发生了什么,但是现在对我有用。

答案 2 :(得分:0)

我遇到了同样的问题,这是因为我更改了 venv 文件夹的名称。 为了解决这个问题,我在我的终端 [yourVenv]\Scripts\python -m pip freeze 中使用了这个命令。

如果你不想每次都这样,试着创建一个这样的新环境。

[yourVenv]\Scripts\python -m pip freeze > requirements.txt
python -m venv [yourVenv]
[yourVenv]\Scripts\activate
python -m pip install --upgrade pip
pip install -r requirements.txt