让我先声明我已阅读过pip 安装在全局站点包中而不是 virtualenv https://stackoverflow.com/questions/20952797/pip-installing-in-global-site-packages-instead-of-virtualenv/20954767它并没有解决我的问题。
创建虚拟环境时使用python -m venv venv
(或任何其他名称),然后使用激活所述 venvsource venv/bin/activate
, 跑步pip install [package]
实际上将包安装到(用户)全局 python 站点包中,位于~/.local/lib/python3.7/site-packages/
.
有趣的是,它总是尝试安装软件包,但无法识别它们是全局安装的,这意味着它最初会在正确的位置查找软件包。
我正在运行 Manjaro Linux,并运行最新的更新。
我创建了这个虚拟环境~/Stuff/tests/venv
。
跑步which pip
and which python
返回:
(venv) angelin@asgard:~/Stuff/tests/venv $ which pip
/home/angelin/Stuff/tests/venv/bin/pip
(venv) angelin@asgard:~/Stuff/tests/venv $ which python
/home/angelin/Stuff/tests/venv/bin/python
检查所述 pip 可执行文件显示正确的 shebang:
(venv) angelin@asgard:~/Stuff/tests/venv $ cat bin/pip
#!/home/angelin/Stuff/tests/venv/bin/python
# -*- coding: utf-8 -*-
...
我的路径在 virtualenv 内时也首先指向虚拟环境:
(venv) angelin@asgard:~/Stuff/tests/venv $ echo $PATH
/home/angelin/Stuff/tests/venv/bin:/home/angelin/.local/bin:...
手动运行python -m pip
or venv/bin/python venv/bin/pip
产生相同的结果。
The PYTHONPATH
变量未设置。
我尝试使用重新安装 python 和 pippacman -S python python-pip
,但我相信只会重新安装全局包(位于/usr/bin
我不想搞乱.local
安装以防万一我损坏的东西比实际情况更严重。
任何建议表示赞赏。