V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
shade
V2EX  ›  macOS

osx 上的 python 环境不好用, pip 总是报 permission denied 错误,有什么好的方式吗?

  •  
  •   shade · Jan 23, 2016 · 8436 views
    This topic created in 3755 days ago, the information mentioned may be changed or developed.
    34 replies    2016-01-27 12:54:49 +08:00
    pupboss
        1
    pupboss  
       Jan 23, 2016
    sudo
    ming2281
        2
    ming2281  
       Jan 23, 2016 via Android
    你是没有在 win 安装过某些 py 包
    超级痛苦
    kkhaike
        3
    kkhaike  
       Jan 23, 2016
    El Capitan 有些包都无法 sudo 了
    我已经全部使用 --user 安装
    aisk
        4
    aisk  
       Jan 23, 2016
    建议先学一下基本的 unix 环境知识,否则别人告诉你“前面加 sudo ”就好了,你以为解决了,以后还会一直被其他问题坑。
    zjuhwc
        5
    zjuhwc  
       Jan 23, 2016   ❤️ 3
    装 anaconda 发行版
    1. 会在~下建立一个文件夹,所有的 python 执行文件和安装的包都在里面,不影响系统自带 python
    2. 不会出现权限问题
    3. 自带用于 python 科学计算的很多包,自带很多工具

    ```
    $ which python
    /Users/xxxxxx/anaconda/bin/python
    ```
    2owe
        6
    2owe  
       Jan 23, 2016
    virtualenv 呀,比如:

    virtualenv ~/.pyenv

    然后把 ~/.pyenv/bin 加到 $PATH 中
    FrankFang128
        7
    FrankFang128  
       Jan 23, 2016
    brew install python
    empilot
        8
    empilot  
       Jan 23, 2016
    确实, El Capitan 之前 Mac 上 Python 的 pip 用起来妥妥的。
    现在发现 virtualenv 才是王道。
    boyhailong
        9
    boyhailong  
       Jan 23, 2016
    显然应该用 virtualenv 啊 这样就解决了权限问题
    zhangyi2099
        10
    zhangyi2099  
       Jan 23, 2016 via iPhone
    Pyenv
    jsfaint
        11
    jsfaint  
       Jan 23, 2016 via Android
    pyenv
    brew install Python
    pip install xxx --user
    以上三种方法均可

    我目前用第二种
    shade
        12
    shade  
    OP
       Jan 23, 2016
    发现 anaconda 发行版 最方便,安装后环境变量自动设置好,与系统 python 环境完全隔离。
    binux
        13
    binux  
       Jan 23, 2016
    千万不要在 osx 上装 anaconda
    千万不要在 osx 上装 anaconda
    osx 不是 windows , osx 是有 lib 依赖的,千万不要在 osx 上装 anaconda , anaconda 会把你机器上的依赖关系全部搞乱。以后编译出来的东西依赖哪里的库都搞不清楚,会解决的人不需要 anaconda ,不会的人,只能重装。
    pangtianyu
        14
    pangtianyu  
       Jan 23, 2016
    El Capitan 的话开了 SIP 之后只能动 /usr/local/ 里面的东西 所以把 pip 装在 /usr/local/ 里面就好了 虽然还是要 sudo 一下因为这个 directory 只有 root 有权限…… 不想 sudo 的话就用 virtualenv 吧……
    tempdban
        15
    tempdban  
       Jan 24, 2016 via Android
    mac 背了一口大锅啊
    tempdban
        16
    tempdban  
       Jan 24, 2016 via Android
    pip 多数平台上都得要
    root 权限
    jamesfjx
        17
    jamesfjx  
       Jan 24, 2016 via iPhone
    brew install python
    pip list -o
    pip install xxx 或 pip install -U xxx

    期间可能需要 brew link python
    Feiox
        18
    Feiox  
       Jan 24, 2016
    楼主,你需要 pyenv 从此无忧 ~
    canesten
        19
    canesten  
       Jan 24, 2016 via Android
    virtualenv
    Sequencer
        20
    Sequencer  
       Jan 24, 2016 via iPhone
    估計你在 sudo 下安裝了 py
    用 brew 在 user 下安裝一次
    ihciah
        21
    ihciah  
       Jan 24, 2016
    virtualenv 正解
    OnceMore2020
        22
    OnceMore2020  
       Jan 24, 2016
    virtualenv 正解
    chroming
        23
    chroming  
       Jan 24, 2016
    @zjuhwc 这两天刚被 anaconda 坑了,卸了用自带的了
    chroming
        24
    chroming  
       Jan 24, 2016
    @Sequencer py 不是自带的吗?
    shade
        25
    shade  
    OP
       Jan 24, 2016
    @chroming 怎么被坑的
    zjuhwc
        26
    zjuhwc  
       Jan 24, 2016
    @chroming 同问什么坑
    zjuhwc
        27
    zjuhwc  
       Jan 24, 2016
    @binux 你指的依赖是?库么?还是 python 开发文件,比如 python.c 之类的?
    binux
        28
    binux  
       Jan 24, 2016
    @zjuhwc 例如 libcurl 之类的库
    chroming
        29
    chroming  
       Jan 24, 2016
    @shade @zjuhwc 也怪我水平不够。是 requests 和 gevent 一起用时候报错,一直找不到原因,后来怀疑可能是 anaconda 自带 greenlet 版本太低想升级也报错。卸了用自带的环境就正常了……
    chemzqm
        30
    chemzqm  
       Jan 25, 2016
    如果你不乱搞或者不怕死的话:

    sudo chown -R (whoami) /Library/Python
    chemzqm
        31
    chemzqm  
       Jan 25, 2016
    上面是 fish 语法, bash 要这样
    sudo chown -R `whoami` /Library/Python
    l6751902
        32
    l6751902  
       Jan 25, 2016
    随便来问一下有什么办法能搜到某台机器之前用 virtualenv 建立过哪些环境么(或者叫查找通过 virtualenv 建立的文件夹?)
    newestuser
        33
    newestuser  
       Jan 26, 2016
    一直用 conda 感觉还不错
    ciki
        34
    ciki  
       Jan 27, 2016
    最新的 mac 系统已经不允许任何权限去操作 usr/bin 了, sudo 都不行,所以你需要重新安装 python 到 user/local 下面去
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2774 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 80ms · UTC 08:11 · PVG 16:11 · LAX 01:11 · JFK 04:11
    ♥ Do have faith in what you're doing.