hanyceZ
V2EX  ›  问与答

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

  •  
  •   hanyceZ · Dec 20, 2019 · 4069 views
    This topic created in 2367 days ago, the information mentioned may be changed or developed.

    安装过的途径:

    • 自己之前 brew 装过 pyhton3
    • 官方上也下载过 python3 的版本
    • 也使用过 pyenv 安装过两个版本(目前正使用)
      • 3.7.5
      • 3.8

    现在有些疑问

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

    /Library/Python/2.7/site-packages
    

    • 然后我用 pycharm 选择 3.7.5 的解释器为啥会显示我有两个 site-packages ?其中的 libaray root 是什么意思?图片在这
    • 之后用 pip -t 指定了 3.8 为什么也不会将包安装到 3.8 的 site-packages 中?
    • 一直在用 virtualenv,现在不用了 virtualenv 后一大堆问题,
    19 replies    2019-12-24 12:02:13 +08:00
    hanyceZ
        1
    hanyceZ  
    OP
       Dec 20, 2019
    图片分享不出去,,,
    和谐 https://和谐 imgur.和谐 com/6hvYL9j
    vissssa
        2
    vissssa  
       Dec 20, 2019
    我是用的 pyenv + pipenv
    nnqijiu
        3
    nnqijiu  
       Dec 20, 2019
    就用一个 python 不就可以了,把多余的删掉
    hanyceZ
        4
    hanyceZ  
    OP
       Dec 20, 2019
    @nnqijiu 问题就是通过各种途径安装了太多 python 后,都找不到之前安装过的 python 位置、pip 位置、site-packages 位置了,我也想删掉
    gwy15
        5
    gwy15  
       Dec 20, 2019
    python3.7 -m pip install package
    python3.8 -m pip install package

    或者:
    alias pip3.7 = python3.7 -m pip
    rogwan
        6
    rogwan  
       Dec 20, 2019 via iPhone
    > virtualenv 后一大堆问题

    venv 后遇到什么问题了?
    cxyfreedom
        7
    cxyfreedom  
       Dec 20, 2019
    用 python -m pip install
    hanyceZ
        8
    hanyceZ  
    OP
       Dec 20, 2019
    @rogwan 大佬你看错了,我之前一直用的就是 venv,很稳。最近想整理整理 mac 上安装过的东西,该删删,该卸卸。于是就出现了上面的问题
    zero469
        9
    zero469  
       Dec 20, 2019
    用 conda 吧
    hanyceZ
        10
    hanyceZ  
    OP
       Dec 20, 2019
    @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
        11
    hanyceZ  
    OP
       Dec 20, 2019
    这是我 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
        12
    GoLand  
       Dec 20, 2019
    先把 alias 里的 python 和 pip 干掉。基本是这两个 alias 带来的问题。
    U7Q5tLAex2FI0o0g
        13
    U7Q5tLAex2FI0o0g  
       Dec 20, 2019
    ~ which pip
    ~ which pip3
    ~ which python
    ~ which python3
    hanyceZ
        14
    hanyceZ  
    OP
       Dec 20, 2019
    @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
        15
    gwy15  
       Dec 20, 2019
    默认 pip (/usr/bin/pip) 会调用 /usr/bin/python3,所以不会识别你的 alias python

    我还是建议你
    alias pip3.7 = /usr/bin/python3.7 -m pip
    lau52y
        16
    lau52y  
       Dec 20, 2019 via iPhone
    anaconda,然后设置为 anaconda 的 python,快速又不麻烦
    Kobayashi
        17
    Kobayashi  
       Dec 21, 2019 via Android
    又遇到一个不读 pyenv README 的,你这是 pyenv 没有初始化
    conn4575
        18
    conn4575  
       Dec 22, 2019 via Android
    通过 brew install 的 python3,保留,单只提供给一些系统依赖使用,自己的写的程序不要用,与之对应的是 pip3,而不是 pip
    自己安装的 python,相关目录都删掉
    各种 alias 的骚操作,删掉
    自己需要用的 pyhon 全部都用 pyenv 安装,每次使用前也需要用 pyenv activate xxx 激活环境
    pycharm 里选择的解释器也要选择 pyenv 安装的版本
    julyclyde
        19
    julyclyde  
       Dec 24, 2019
    pip 不是独立的 pip
    pip 是 python 里的一个库
    你用哪个 pip,就是用哪个 python
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3129 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 75ms · UTC 08:22 · PVG 16:22 · LAX 01:22 · JFK 04:22
    ♥ Do have faith in what you're doing.