Git 我的虚拟环境可以访问全局包,甚至可以指定不访问

Git 我的虚拟环境可以访问全局包,甚至可以指定不访问,git,flask,virtualenv,python-3.6,ubuntu-18.04,Git,Flask,Virtualenv,Python 3.6,Ubuntu 18.04,作为Flask项目的一部分,我创建了一个python虚拟环境。尽管指定我不希望venv访问我的机器包,但当venv中缺少包时,它会这样做 我尝试了virtualenv,有没有——无站点包说明。我还在我的venv python包(venv/lib/python3.6/no-global-site-packages.txt)中创建了一个名为no-global-site-packages.txt的空白文本文件 我的$PYTHONPATH为空。我最初的venv是git回购,但为了解决这个问题,我尝试了非

作为Flask项目的一部分,我创建了一个python虚拟环境。尽管指定我不希望venv访问我的机器包,但当venv中缺少包时,它会这样做

我尝试了
virtualenv
,有没有
——无站点包
说明。我还在我的venv python包(
venv/lib/python3.6/no-global-site-packages.txt
)中创建了一个名为
no-global-site-packages.txt
的空白文本文件

我的
$PYTHONPATH
为空。我最初的venv是git回购,但为了解决这个问题,我尝试了非git文件夹,结果也一样

激活我的维珍venv后,我得到:

which python
>> /venv/bin/python
which pip
>> /venv/bin/pip
这是我所期望的,但我得到:

which flask
>> /usr/bin/flask
而不是因为venv中未安装烧瓶而发生碰撞

我看到了这个问题,但提议的解决方案中没有一个奏效:


有人知道这里有什么问题吗?我遗漏了什么?

venv中是否安装了
flask
?从问题我看不出您有权访问全局
站点包
,您只表明您已在全局安装了
flask
,并且其脚本(不是包)是可访问的,因为它位于
$PATH
中。如果您没有在venv中安装
flask
,则系统无法访问脚本。当您在venv中安装
flask
时,它将覆盖全局安装的
flask
。即使可以运行
/usr/bin/flask
,但这并不意味着它可以访问您的VirtualNV-它可以拥有shebang
/usr/bin/python
,并且python使用全局软件包。测试virtualenv是否与全局包分离的唯一方法是测试包:
python-c“import flask”
;如果未安装
flask
,则命令将失败。