美文网首页
管理Python:删掉多余的Python,安装Pipenv

管理Python:删掉多余的Python,安装Pipenv

作者: 波洛的汽车电子世界 | 来源:发表于2019-08-14 18:45 被阅读0次

    系统有9个地方安装了Python,准备删除其中的一些。
    第一步:先把Library里面的用pkg安装的版本删掉。
    第二步:用brew uninstall python 删除python2和python3,这两个Python位于usr/local/Cellar文件夹中。
    第三步:现在除了系统自带的,还有4个。之前我为了区分两个版本,弄了一个anaconda,一个anaconda3,在anaconda3里面,又搞了个虚拟版本的2和3。
    试了下用brew uninstall anaconda ,失败!
    第四步:不知道怎么办,就直接在文件夹里删除了这两个文件夹,太暴力了,但是效果显著!
    现在系统只剩一个自带的python了。
    接着打算用pyenv+pipenv进行环境控制和版本控制。
    pipenv是项目环境管理工具,pyenv是项目版本管理工具。
    然后安装pip 用 brew install pip和brew install python@2

    Python has been installed as
      /usr/local/bin/python3
    
    Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
    `python3`, `python3-config`, `pip3` etc., respectively, have been installed into
      /usr/local/opt/python/libexec/bin
    
    If you need Homebrew's Python 2.7 run
      brew install python@2
    
    You can install Python packages with
      pip3 install <package>
    They will install into the site-package directory
      /usr/local/lib/python3.7/site-packages
    
    You can install Python packages with
      pip install <package>
    They will install into the site-package directory
      /usr/local/lib/python2.7/site-packages
    
    

    现在就是说用pip就是指2.7版本,用pip3就是3.7版本。
    Describe my laptop environment:
    OS Type: macOS Mojave 10.14.5
    python versions:
    python 3 '/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload'
    python 2
    '/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7',

    上面的都是废话

    然后开始安装pipenv,安装pipenv的时候又出现了问题:Your Pipfile requires python_version 2.7, but you are using None.
    我看了下相关issue,说是Home brew安装的python很容易出问题,特别在虚拟环境下,虚拟环境的版本指向的版本可能已经不存在了,就会导致这个错误。
    所以我又卸载掉了orzzzzz,感觉一直都在安装卸载。
    现在又只剩系统自带的Python 2.7.10了。
    然后用pyenv安装2.7.16和3.7.4

    pyenv  --version :1.2.13 
    HuizhiXu:~ Huizhi$ pyenv versions
    * system (set by /Users/Huizhi/.pyenv/version)
      2.7.16
      3.7.4
    
    

    切换版本

    pyenv global 2.7.16
    HuizhiXu:~ Huizhi$ pyenv versions
      system
    * 2.7.16 (set by /Users/Huizhi/.pyenv/version)
      3.7.4
    

    继续安装pipenv
    brew install pipenv
    pipenv install
    出现错误
    dyld: Library not loaded: @executable_path/../.Python
    Referenced from: /usr/local/Cellar/pipenv/2018.11.26_2/libexec/bin/python3.7
    Reason: image not found
    Abort trap: 6
    这个错误的原因是虚拟环境。
    This error occurs because your virtual environment has broken symlinks.
    然后又是一通操作,各种看github的issue和stackoverflow,然后继续运行pipenv install的时候错误就变成了ERROR: ERROR: No matching distribution found for navigator-updater==0.1.0,我就一个一个手动的把不匹配的项在Pipfile注释掉,直到最后,没有这类错误了。
    但是,又出现一个耗时太久的错误。pipenv.patched.notpip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
    采取了两个措施:
    第一,因为我Pipfile里面要安装的包太多了,我删除了一些。
    第二,我把里面的url换成了国内源,听说这样会快一些。
    阿里云:http://mirrors.aliyun.com/pypi/simple/
    豆瓣:http://pypi.douban.com/simple/
    清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/
    中国科学技术大学:https://pypi.mirrors.ustc.edu.cn/simple/

    最后,终于成功了!

    HuizhiXu:~ Huizhi$ pipenv install
    Pipfile.lock not found, creating…
    Locking [dev-packages] dependencies…
    Locking [packages] dependencies…
    ✔ Success! 
    Updated Pipfile.lock (ff009f)!
    Installing dependencies from Pipfile.lock (ff009f)…
      🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 16/16 — 00:00:13
    To activate this project's virtualenv, run pipenv shell.
    Alternatively, run a command inside the virtualenv with pipenv run.
    

    相关文章

      网友评论

          本文标题:管理Python:删掉多余的Python,安装Pipenv

          本文链接:https://www.haomeiwen.com/subject/tgcwjctx.html