快要被 mac 上的 Python 版本和 pip 安装到 site-packages 的位置弄晕了,请教下如何用 pip 把想要的包安装到自己指定的 Python 版本中的 site-packages 中?

2019-12-20 16:13:35 +08:00
 hanyceZ

安装过的途径:


现在有些疑问

这两天 pip 安装后的包进入到了这个目录下的原因是不是:自带的 pip 都会安装到 mac 自带的 python2.7 的 site-packages 中?:

/Library/Python/2.7/site-packages

3304 次点击
所在节点    问与答
19 条回复
hanyceZ
2019-12-20 16:15:30 +08:00
图片分享不出去,,,
和谐 https://和谐 imgur.和谐 com/6hvYL9j
vissssa
2019-12-20 16:26:16 +08:00
我是用的 pyenv + pipenv
nnqijiu
2019-12-20 16:28:40 +08:00
就用一个 python 不就可以了,把多余的删掉
hanyceZ
2019-12-20 16:33:31 +08:00
@nnqijiu 问题就是通过各种途径安装了太多 python 后,都找不到之前安装过的 python 位置、pip 位置、site-packages 位置了,我也想删掉
gwy15
2019-12-20 16:35:18 +08:00
python3.7 -m pip install package
python3.8 -m pip install package

或者:
alias pip3.7 = python3.7 -m pip
rogwan
2019-12-20 16:40:22 +08:00
> virtualenv 后一大堆问题

venv 后遇到什么问题了?
cxyfreedom
2019-12-20 16:49:32 +08:00
用 python -m pip install
hanyceZ
2019-12-20 16:51:48 +08:00
@rogwan 大佬你看错了,我之前一直用的就是 venv,很稳。最近想整理整理 mac 上安装过的东西,该删删,该卸卸。于是就出现了上面的问题
zero469
2019-12-20 16:52:34 +08:00
用 conda 吧
hanyceZ
2019-12-20 16:55:17 +08:00
@gwy15 迫于我之前 mac 上安装过 N 多 python 版本,我已经 alias 了一个默认的 python 版本
```
alias python='/Users/xxxxxx/.pyenv/versions/3.7.5/bin/python'
```
后面再来个
```
alias pip=python -m pip
```
alias-pip 中的 python 也会使用我之前定义的 alias-python 吗
hanyceZ
2019-12-20 16:56:40 +08:00
这是我 python 的位置,也很懵,有大佬解释下分别是什么的吗
```
[xxx@ ~] where python
python: aliased to /Users/zhangyihan/.pyenv/versions/3.7.5/bin/python
/usr/bin/python
/usr/local/bin/python
/usr/local/bin/python
/usr/bin/python
/usr/local/bin/python
```
GoLand
2019-12-20 16:58:43 +08:00
先把 alias 里的 python 和 pip 干掉。基本是这两个 alias 带来的问题。
littleylv
2019-12-20 17:00:10 +08:00
~ which pip
~ which pip3
~ which python
~ which python3
hanyceZ
2019-12-20 17:04:14 +08:00
@littleylv
```
[xx@xxx ~] which pip
/usr/local/bin/pip
[xxx@xxx ~] which pip3
/usr/bin/pip3
[xxx@xxx ~]
[xxx@xxx ~] which python
python: aliased to /Users/xxxxx/.pyenv/versions/3.7.5/bin/python
[xxx@xxx ~] which python3
/usr/bin/python3
```
gwy15
2019-12-20 17:06:49 +08:00
默认 pip (/usr/bin/pip) 会调用 /usr/bin/python3,所以不会识别你的 alias python

我还是建议你
alias pip3.7 = /usr/bin/python3.7 -m pip
lau52y
2019-12-20 20:28:51 +08:00
anaconda,然后设置为 anaconda 的 python,快速又不麻烦
Kobayashi
2019-12-21 21:12:41 +08:00
又遇到一个不读 pyenv README 的,你这是 pyenv 没有初始化
conn4575
2019-12-22 06:53:31 +08:00
通过 brew install 的 python3,保留,单只提供给一些系统依赖使用,自己的写的程序不要用,与之对应的是 pip3,而不是 pip
自己安装的 python,相关目录都删掉
各种 alias 的骚操作,删掉
自己需要用的 pyhon 全部都用 pyenv 安装,每次使用前也需要用 pyenv activate xxx 激活环境
pycharm 里选择的解释器也要选择 pyenv 安装的版本
julyclyde
2019-12-24 12:02:13 +08:00
pip 不是独立的 pip
pip 是 python 里的一个库
你用哪个 pip,就是用哪个 python

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/630885

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX