mac 多版本python管理及基本使用

Mac上自带了Python2.x的版本,有时需要使用Python3.0以上版本做开发,如果担心删除自带python版本出现问题或者有系统依赖2.x版本,可以安装多个版本的Python。

Mac系统自带的python路径:/System/Library/Frameworks/Python.framework/Versions/x.x

自己安装的python路径:/Library/Frameworks/Python.framework/Versions/x.x

 

如果之前自己安装过python可以按照以下步骤删除:

1、删除Python框架

sudo rm -rf /Library/Frameworks/Python.framework/Versions/x.x

2、删除Python程序

sudo rm -rf “/Applications/Python x.x”


  • 首先使用pyenv管理/切换python版本

Pyenv只会管理通过Pyenv安装的Python版本,你自己在Python官网上下载的直接安装的Pyenv并不能被管理!!!同样除了系统自带的python包外,其他直接安装的python包是识别不出来的,即使使用的brew安装的也识别不出来。

  1. Homebrew macOS 缺失的软件包管理器(https://brew.sh/index_zh-cn.html

在终端执行:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


Homebrew 常用命令一览

$ brew --help #简洁命令帮助

$ man brew #完整命令帮助

$ brew install git #安装软件包(这里是示例安装的Git版本控制)

$ brew uninstall git #卸载软件包

$ brew search git #搜索软件包

$ brew list #显示已经安装的所有软件包

$ brew update #同步远程最新更新情况,对本机已经安装并有更新的软件用*标明

$ brew outdated #查看已安装的哪些软件包需要更新

$ brew upgrade git #更新单个软件包

$ brew info git #查看软件包信息

$ brew home git #访问软件包官方站

$ brew cleanup #清理所有已安装软件包的历史老版本

$ brew cleanup git #清理单个已安装软件包的历史版本

参考:https://www.jianshu.com/p/28cbe523d08e


  1. 安装pyenv

具体操作可见(https://github.com/pyenv/pyenv#homebrew-on-mac-os-x

推荐帖子(https://www.jianshu.com/p/2b0b652eaa50

如果想直接操作见如下:

brew update brew install pyenv brew upgrade pyenv #之后如果需要更新pyenv

然后在 .bash_profile 文件中添加 

eval “$(pyenv init -)” 

在安装成功之后需要在.bashrc或者.bash_profile中添加三行来开启自动补全

export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"

详细的pyenv的命令参考https://github.com/yyuu/pyenv/blob/master/COMMANDS.md

安装后的路径:/用户/dong/.pyenv/versions

  1. 安装python

查看已安装Python版本

pyenv versions

带*号的是当前路径下所使用的Python版本(此时只有system)

查看能够安装的版本:

pyenv install --list 

安装需要的版本: 

pyenv install 3.4.3 -v

完成后更新数据库

pyenv rehash

查看系统已安装的版本: 

pyenv versions

查看pyenv的命令

pyenv -h

  1. 切换python版本 

pyenv global x.x.x

pyenv versions

(注:pyenv version之列出当前的版本,pyenv versions列出所有版本以及当前选中的版本)


Python版本的设置:

  • pyenv global <version> # 全局设置python版本为指定版本,设置全局的 Python 版本,通过将版本号写入 ~/.pyenv/version 文件的方式。
  • pyenv local <version> # 设置当前路径下python版本为指定版本,设置 Python 本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式。通过这种方式设置的 Python 版本优先级较 global 高。
  • pyenv shell <version> # 设置当前shell窗口使用的python版本为指定版本,设置面向 shell 的 Python 版本,通过设置当前 shell 的 PYENV_VERSION 环境变量的方式。这个版本的优先级比 local 和 global 都要高。–unset 参数可以用于取消当前 shell 设定的版本。

优先级:shell > local > global

pyenv会从当前目录开始向上逐级查找.python-versiob文件,直到根目录为止,若找不到,则使用global版本。


  1. Python卸载

pyenv isntall <version> # 安装版本号为<version>的Python pyenv uninstall <version> #卸载版本号为<version>的Python

  1. 说明:

系统自带的脚本会以/usr/bin/python的方式直接调用老版本的python,因而不会对系统脚本产生影响; 

使用pip安装第三方模块时会安装到~/.pyenv/versions/3.4.1下,不会和系统模块发生冲突。 

使用pip安装模块后,可能需要执行pyenv rehash更新数据库 

  1. pip 是通用的Python包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。

如果安装的Python 2 >=2.7.9 或者Python 3 >=3.4 那么Python自带了pip,所以不用安装,配置下它的环境就可以

路径:Python安装路径\Scripts

1)pip的自我更新

$ pip install -U pip

2)安装 PyPI软件包 

$ pip install SomePackage # latest version

$ pip install SomePackage==1.0.4 # specific version

$ pip install 'SomePackage>=1.0.4' # minimum version

3)卸载安装包

$ pip uninstall SomePackage

4)查看列出已安装的软件包

$ pip list

5)查找需要更新的软件包

$ pip list --outdated

6)更新软件包

$ pip install --upgrade SomePackage

7)查看软件包的详细信息

$ pip show sphinx

8)搜素软件包

$ pip search "query"

 

  1. Jupyter Notebook

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。

网站(https://jupyter.readthedocs.io/en/latest/install.html

1)Installing Jupyter with pip

如果是python3:

python3 -m pip install --upgrade pip

python3 -m pip install jupyter

果是python2:

python -m pip install --upgrade pip

python -m pip install jupyter

2)启动

jupyter notebook


注:Jupyter Notebook导出pdf错误

https://nbconvert.readthedocs.io/en/latest/install.html#installing-tex.

pip install nbconvert# ORconda install nbconvert


  1. Conda介绍

conda类似于npm或maven的包管理工具,功能上类似 pip 和 vitualenv 的组合,分为minconda和anaconda,minconda是简化版本,只包含conda和其依赖。anaconda支持windows、mac和linux系统,且有两个类型的版本,分别是GUI和command line版本,前者是图形界面,后者是命令行界面,占用资源较少。conda有python3.x和python2.x系列两个版本。

conda 的环境管理与 virtualenv 是基本上是类似的操作。

以下内容来源于https://foofish.net/anaconda-install.html


# 查看帮助

conda -h 

# 基于python3.6版本创建一个名字为python36的环境

conda create --name python36 python=3.6 

# 激活此环境

activate python36 source activate python36 

# linux/mac# 再来检查python版本,显示是 3.6

python -V 

# 退出当前环境

deactivate python36 

# 删除该环境

onda remove -n python36 --all

# 或者

conda env remove -n python36

# 查看所以安装的环境conda info -ebase * /Applications/anaconda3

python36 /Applications/anaconda3/envs/python36

 

conda 的包管理功能可 pip 是一样的,当然你选择 pip 来安装包也是没问题的。

# 安装 matplotlib

conda install matplotli

b# 查看已安装的包

conda list

# 包更新

conda update matplotlib

# 删除包

conda remove matplotlib

在 conda 中 anything is a package。conda 本身可以看作是一个包,python 环境可以看作是一个包,anaconda 也可以看作是一个包,因此除了普通的第三方包支持更新之外,这3个包也支持。比如:

# 更新conda本身

conda update conda

# 更新anaconda 应用

conda update anaconda

# 更新python,假设当前python环境是3.6.1,而最新版本是3.6.2,那么就会升级到3.6.2

conda update python

修改镜像地址Anaconda 的镜像地址默认在国外,用 conda 安装包的时候会很慢,目前可用的国内镜像源地址有清华大学的。修改 ~/.condarc (Linux/Mac) 或 C:\Users\当前用户名\.condarc (Windows) 配置:

channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - defaultsshow_channel_urls: true

如果使用conda安装包的时候还是很慢,那么可以考虑使用pip来安装,如果使用conda安装包的时候还是很慢,那么可以考虑使用pip来安装,\pip\pip.ini (Windows) 配置:

[global]trusted-host = pypi.douban.comindex-url = http://pypi.douban.com/simple

  1. conda的理解

下面是粘贴官网的介绍,查了很多感觉没有比这个更贴切的解释了,原文粘贴如下(https://conda.io/docs/index.html

Package, dependency and environment management for any language—Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN

Conda is an open source package management system and environment management system that runs on Windows, macOS and Linux. Conda quickly installs, runs and updates packages and their dependencies. Conda easily creates, saves, loads and switches between environments on your local computer. It was created for Python programs, but it can package and distribute software for any language.

Conda as a package manager helps you find and install packages. If you need a package that requires a different version of Python, you do not need to switch to a different environment manager, because conda is also an environment manager. With just a few commands, you can set up a totally separate environment to run that different version of Python, while continuing to run your usual version of Python in your normal environment.

In its default configuration, conda can install and manage the thousand packages at repo.continuum.io that are built, reviewed and maintained by Anaconda®.

Conda can be combined with continuous integration systems such as Travis CI and AppVeyor to provide frequent, automated testing of your code.

The conda package and environment manager is included in all versions of Anaconda®, Minicondaand Anaconda Repository. Conda is also included in Anaconda Enterprise , which provides on-site enterprise package and environment management for Python, R, Node.js, Java and other application stacks. Conda is also available on PyPI, although that approach may not be as up to date.

其中还推荐一篇文以及翻译文,能够更好的理解:

原文: https://jakevdp.github.io/blog/2016/08/25/conda-myths-and-misconceptions/

翻译: https://blog.csdn.net/taopanpantao/article/details/53982752

  1. 后续更新。。。
  • 8
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 我可以提供一些建议来帮助你使用Python编写桌面脚本管理:1. 详细研究Python语言及其标准库,以及相关的第三方库; 2. 使用Python调用操作系统的API,以便访问和控制操作系统的底层资源; 3. 使用Python开发一些实用的脚本,以简化计算机的日常使用; 4. 使用Python构建可扩展的跨平台的桌面应用,以便实现复杂的桌面任务。 ### 回答2: 使用Python编写一个桌面脚本管理器,可以帮助用户在桌面上管理和执行各种脚本。以下是一个简单的实现示例: 首先,我们需要使用Python的GUI库(如Tkinter)创建一个用户界面。用户界面可以包括一个输入框和一个按钮。输入框用于用户输入脚本的名称,按钮用于执行脚本。 当用户点击按钮时,程序将会读取用户输入的脚本名称,并执行该脚本。为了实现这一点,我们可以使用Python的subprocess库来运行外部命令。 在执行脚本之前,为了确保脚本文件存在且可执行,我们可以使用Python的os库来检查文件的存在性和权限。如果脚本文件不存在或不可执行,程序可以弹出一个错误提示框。 一旦脚本执行完成,程序可以显示执行结果或弹出一个通知框,告诉用户脚本已经执行完毕。 除了执行脚本,我们还可以加入其他功能。例如,用户可以添加新的脚本到脚本管理器中,或者删除不再需要的脚本。这些功能可以通过在用户界面上添加更多的输入框和按钮来实现。 另外,我们可以使用Python的文件操作库来保存和读取脚本名称及其对应的执行命令。这样,在每次启动程序时,用户之前定义的脚本都能够被加载并正常使用。 综上所述,通过使用Python编写一个桌面脚本管理器,我们可以帮助用户更方便地执行和管理各种脚本。这个脚本管理器可以提供简单的用户界面,实现脚本的执行、添加和删除等基本功能。 ### 回答3: 使用Python编写一个桌面脚本管理器可以方便地管理和运行各种桌面脚本。以下是一个简单的实现思路: 首先,可以使用Python的tkinter库来创建一个用户界面,用于展示和管理桌面脚本。可以创建一个窗口,并在其中添加各种按钮和菜单等组件。 其次,可以创建一个脚本管理的数据结构,可以使用Python的字典或列表来存储脚本的相关信息,比如文件路径、名称、描述等。 然后,可以给界面中的按钮和菜单等组件添加相应的功能。比如,可以添加一个"添加脚本"的按钮,点击后可以通过文件选择对话框选择需要添加的脚本文件,并将其信息添加到脚本管理的数据结构中。还可以添加一个"运行脚本"的按钮,点击后可以选择要运行的脚本,并调用Python的subprocess模块来执行相应的命令行。 此外,还可以为每个脚本添加更多的功能,比如编辑、删除、复制等操作。可以为每个脚本项创建一个右键菜单,包含这些功能。 最后,可以将脚本管理器的代码打包成可执行文件,方便其他用户使用。可以使用PyInstaller或其他类似工具将Python代码打包成Windows、Mac或Linux等平台的可执行文件。 综上所述,使用Python编写一个桌面脚本管理器需要构建用户界面、脚本管理数据结构、与外部命令交互,并实现相应的功能按钮等。这样可以方便地管理和运行各种桌面脚本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值