首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何让pip从我的virtualenv安装到virtualenv

如何让pip从我的virtualenv安装到virtualenv
EN

Stack Overflow用户
提问于 2020-05-16 05:18:24
回答 1查看 54关注 0票数 0

我不确定这些因素中有多少重要,但我尝试运行我很久以前编写的bash脚本,该脚本创建并激活了一个virtualenv。我将其更改为使用python3作为python版本。然而,这似乎破坏了virtualenv并试图通过pip将其安装到全局站点包中。

如何从python3 virtualenv获取pip以安装到virtualenv中?

代码语言:javascript
运行
复制
PYTHON=${PYTHON:-python3}
VENV_DIR="bld_tests_env"
$PYTHON -m virtualenv --python=$PYTHON $VENV_DIR

set -x
source $VENV_DIR/bin/activate
which -a python
which -a pip
ls -l `which pip`
pip --version

给出了以下输出

代码语言:javascript
运行
复制
+ which -a python
<code path>/staging/bld_tests_env/bin/python
/usr/local/bin/python
/usr/bin/python
+ which -a pip
<code path>/staging/bld_tests_env/bin/pip
/usr/local/bin/pip
+ ls -l `which pip`
<code path>/staging/bld_tests_env/bin/pip
+ pip --version
pip 20.1 from /usr/local/lib/python3.5/site-packages/pip (python 3.5)

谁能给我解释一下为什么在激活virtualenv之后调用pip仍然会引用全局安装?

EN

回答 1

Stack Overflow用户

发布于 2020-05-16 07:33:21

我没有解释为什么它与virtualenv如此分离,但我确实了解到venv是自Python3.3 https://docs.python.org/3/library/venv.html以来的一个内置模块

如果我从

代码语言:javascript
运行
复制
$PYTHON -m virtualenv --python=$PYTHON $VENV_DIR

代码语言:javascript
运行
复制
$PYTHON -m venv $VENV_DIR

然后,一切似乎都像预期的那样工作。

我的猜测是,python3没有正确支持virtualenv,也没有人注意到这一点,因为没有人愿意为此使用pip包。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61828528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档