【问题标题】:Why is my python programme running correctly in my virtual environment despite not having the packages installed in that environment?为什么我的 python 程序在我的虚拟环境中正常运行,尽管没有在该环境中安装软件包?
【发布时间】:2017-01-13 01:49:23
【问题描述】:

大家好,我希望我能得到一些帮助。我在 Windows XP 上,使用 Python 2.7.12 和命令提示符。

我编写了一个使用 prettytable 包的程序 balances.py。它安装在我的主 C:\Python27\Lib\site-packages 文件夹中。

我刚刚创建了一个虚拟环境:

C:\Environments\virtualenv p1_env 

并激活环境:

C:\Environments\p1_env\Scripts\activate

现在我在 p1_env 中:

(p1_env)C:\

然后导航到<p1_env>C:\Python Projects\balances.py

即使我没有在p1_env 中安装prettytable,它也会运行脚本

pip list 用于主要 python 安装是

virtualenv, setuptools, pip, prettytable 

而 p1_env 的 pip list

pip, setuptools, wheel

当我在 p1_env 中运行脚本 balances.py 时,它仍然使用 prettytable 运行。

我的问题是为什么 balances.py 在p1_env 中运行,即使prettytable 没有安装在p1_env 中?

【问题讨论】:

  • 你有没有考虑过来自主要python安装的包被传递包含在virtualenv中?
  • 我检查了两个 pip 列表,并且 prettytable 不在 p1_env 中,但包含在主安装中。我不认为我遵循你的意思。感谢您的回复。
  • 请考虑为这个问题写一个更好的主题。这应该是一个实际的问题。
  • @jgomo3 问题在底部很清楚
  • @AlexMuncheon 标题应该是一个问题,而不是一个话题。对于主题有标签。

标签: python virtualenv


【解决方案1】:

您已在全局范围内安装了漂亮表。当您创建一个虚拟环境时,它将包括全局安装的包,因此您的程序运行的原因。

【讨论】:

  • 我在创建 virtualenv 的时候试过 --no-site-packages 但还是不行。
  • 。嗨,朋友,我希望你仍然可以帮助我,我已经回复了上面对 cricket007 的评论。干杯
  • 您是否有其他安装了 prettytables 的虚拟环境?还要检查 PYTHONPATH 中的路径,看看你是否包含了一个包含漂亮表的路径
【解决方案2】:

有人写了我找到的答案:

odie5533 回复virtualenv --no-site-packages and pip still finding global packages?

如果您直接将脚本调用为 script.py,然后使用 Windows 默认打开器并在虚拟环境之外打开 Python,则在 Windows 上可能会出现类似问题。使用 python script.py 调用它会在虚拟环境中使用 Python。

所以我所要做的就是编写“python balances.py”而不仅仅是“balances.py”。当我只输入 balances.py 时仍然希望它能够工作,但没有什么需要处理的。

感谢大家的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-27
    • 2022-10-13
    • 1970-01-01
    • 2022-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    相关资源
    最近更新 更多