【问题标题】:Virtualenv doesn't fail despite no installed packages尽管没有安装软件包,Virtualenv 不会失败
【发布时间】:2020-10-24 12:10:21
【问题描述】:

我有一台新笔记本电脑,在克隆我的 python 项目时,我想通过包含一个 requirements.txt 文件来正式化它们并开始使用 venvs。

按预期正常运行 python 文件时,它会抱怨缺少包

Traceback (most recent call last):
  File "file.py", line 1, in <module>
  from urllib.request import Request, urlopen
ImportError: No module named request

这是第一个错误,还有很多其他错误,我预计会出错。

但是,当我创建一个 venv 并运行相同的代码时,没有错误并且脚本产生了预期的输出,这是如何工作的?我唯一的猜测是,在使用 venv 时,vscode 已经开始在幕后做一些事情了?

【问题讨论】:

    标签: python-3.x visual-studio-code pip python-venv requirements.txt


    【解决方案1】:

    这是因为,在虚拟环境中,许多 python3 包都被“重置”了。虚拟环境更兼容 python3:它包含更多的 python3 内置包,与您的家庭 python 完全不同。此外,python 会在 virtualenv 中调用 python3

    【讨论】:

    • 谢谢@theX 将这些包仍然包含在需求文件中以便与可能不在 python 3 上的用户互操作是否明智?
    • @Andrew Python2 已被弃用,因此,就个人而言,我希望人们使用 python3。 不过,我真的无法判断这样做是否明智。请自行决定。
    猜你喜欢
    • 2014-05-10
    • 1970-01-01
    • 2020-01-08
    • 1970-01-01
    • 2019-02-12
    • 2020-04-27
    • 2017-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多