【问题标题】:New python venv is using global packages新的 python venv 正在使用全局包
【发布时间】:2020-10-11 13:14:23
【问题描述】:

到目前为止,我还没有意识到我应该为每个项目创建一个新的 venv,因此,我在全球范围内安装了我需要的每个包。 现在,当我想开始使用 python -m venv env 时,我的程序运行良好,即使我根本没有安装任何软件包。 我假设它使用全局包,因为当我使用 pip freeze 时,我没有列出任何包。

我正在尝试创建一个requirements.txt 文件,该文件将仅列出该项目所需的包,但它是空的,而且我的代码运行良好! include-system-site-packages = false 也是在pyvenv.cfg 文件中设置的,我真的不明白。

【问题讨论】:

  • 你是如何运行应用程序的?可能是您使用系统 python 解释器运行它,在这种情况下不会使用虚拟环境。
  • 我在 VS Code 中运行它,我选择了 env Python 解释器。 which pythonwhich pip 给我正确的
  • 文件顶部没有#!/usr/bin/python3?您可以尝试从命令行运行它吗?
  • 我不确定如何从命令行运行它,应该在哪个文件的顶部?我在 Windows 10 上,在 VS 代码中使用 bash

标签: python package python-venv requirements.txt


【解决方案1】:

解决了。显然我的应用程序正在使用一个全局 Flask 包,它可以访问其他全局包。 我卸载了全局 Flask 包,这迫使我的应用程序使用 env Flask 以及其他 env 包。

现在requirements.txt 可以正确渲染了。

【讨论】:

    猜你喜欢
    • 2021-04-23
    • 1970-01-01
    • 1970-01-01
    • 2021-12-15
    • 2012-03-11
    • 1970-01-01
    • 2020-08-08
    • 2020-08-25
    • 2021-09-13
    相关资源
    最近更新 更多