【发布时间】:2022-01-20 14:42:46
【问题描述】:
运行系统安装的python时,可以找到pip:
% which python3
/usr/local/bin/python3
% python3 --version
Python 3.9.7
% /usr/local/bin/python3 -m pip --version
pip 21.3.1 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)
但是,如果我用这个python3 创建一个virtualenv 并激活它,那么我再也找不到pip:
% which python3
~/venv/bin/python3
% ls -la `which python3`
~/venv/bin/python3 -> /usr/local/bin/python3
% python3 -m pip --version
~/venv/bin/python3: No module named pip
我对此完全感到困惑。
通过符号链接读取可能使pip 消失的原因是什么?
【问题讨论】:
-
ls ~/venv/bin/里面有点子吗?激活virtualenv后which pip怎么样。 -
@Jay:你说得对,
~/venv/bin/没有点子。which pip激活 virtualenv 后失败。 -
我认为
pip是 virtualenvs 的标准配置;例如在另一个平台上,我可以访问which pip,在venv中找到;此外,它不是系统pip的符号链接。 . . -
对,
venv/bin中应该有一个pip。其次~/venv/bin/python3不应该是符号链接。你是如何创建virtualenv的?尝试创建一个新的virtualenv new_venv -p python3并确保它在new_venv/bin中有 pip 并且new_env/bin/python3不是符号链接 -
@Jay:通过
python3 -m virtualenv .修复它;看起来你基本上是在正确的轨道上。想要发布答案?
标签: python python-3.x pip