从零开始配置 python 开发环境

最近公司有一个古老项目需要维护,写这个的时候我还没有来公司,结果呢,整开发环境就整了多半天,关键是还没!有!整!好!恰逢周五,为了不耽误下周一正常进行开发,下班果断把电脑带回家了。

结果到家的一顿操作猛如虎,项目是跑起来了,可是我的系统强迫症犯了,于是在它的威逼下我决定重装一下它的系统,然后也写下了这篇文章。给自己做个记录,如果也可以为一些朋友排忧解难,那就更好了。

好了,废话絮叨完了。开始进入正题。

接下来的整个过程,大概是这样的。

  • 安装 Xcode & CommandLine Tool
  • 安装 iTerm2 、切换 ZSH 、安装 Oh My Zsh
  • 安装 BrewHome 及配置源
  • 基于 brew 安装一些依赖
  • 关于管理 Python 环境的问题
    • 使用 pyenv 管理 Python 环境
    • 使用 MiniConda 管理 Python 环境
  • Pycharm 中的项目配置

如果你使用的是国际互联网的话,你可以省掉其中切换软件源的那些操作。记录这些源也是我写这篇文章的初衷,毕竟不是经常操作的,容易忘。

安装 Xcode & CommandLine Tool

Xcode 如果你后期不使用的话也可以不装。CommandLine Tool 中集成了大多的开发命令行工具,例如 git、gcc等等等等。
如果你使用的不是最新版本的 Mac OS 系统的话,建议不要使用 App Store 中的 Xcode 和在终端中执行 xcode-select --install 来安装, 可以从 Apple 开发者网站下载适合版本。
https://developer.apple.com/download/more/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Td7g9nBH-1582552372388)(http://q2yw5gccm.bkt.clouddn.com/article-images/commandlinetool.jpeg)]

下载下来后最好先装 Xcode 在装 CommandLine Tool,两个均是直接双击就可以打开。

配置一个好用的终端。

说到好用的终端,那绝对会想到 iTerm2 、ZSH、Oh My Zsh
iTerm2 可以直接到官网去下载,同样的双击安装。https://www.iterm2.com/

然后切换 shell 从 bash 切换到 zsh。

chsh -s /bin/zsh

# 如果你想切换回 bash
# chsh -s /bin/bash

再然后,就是安装 Oh My Zsh,它的安装方式是在终端中使用 sh 运行一个使用 curl 或者 wget 下载下来的脚本。到目前为止,系统中是没有 wget 工具的,所以建议使用 crul 的方式。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LuEBKGcB-1582552372388)(http://q2yw5gccm.bkt.clouddn.com/article-images/ohmyzsh.jpg)]

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

这个下载路径的一般是不会变的,如果真的出错了,可以带官网去查看安装方式。https://ohmyz.sh/
这时候你的终端是这样的。

如果你喜欢炫酷一点的也可以去搜索一下,我一般就是装好换一个主题就完事了,我一般使用 fishy。简介清晰。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hcUfl7ch-1582552372389)(http://q2yw5gccm.bkt.clouddn.com/article-images/zshrc.jpg)]

安装 BrewHome 及配置源

安装

官方给的安装方式是这样的。

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

它使用 ruby 运行一个 Github 下载下来的脚本,在脚本的中需要克隆下来仓库,然后有时候这个网络总是抽抽。这时候可以把脚本下载下来,修改一下仓库地址,再使用 ruby 执行修改过的脚本。

下载脚本,写入~/brew_install.rb

curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install >> ~/brew_install.rb

然后 vim 打开脚本将 BREW_REPO 修改为清华源的 git 地址

# 将
BREW_REPO = "https://github.com/Homebrew/brew".freeze

# 修改为
BREW_REPO = "https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git".freeze

保存之后,使用 ruby 执行脚本即可安装,

/usr/bin/ruby ~/brew_install.rb

配置源

配置清华源,当然可以使用其他源。可以根据自己的网络环境修改。
配置清华源

git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git

git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git

git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git

brew update

复原为官方源

git -C "$(brew --repo)" remote set-url origin https://github.com/Homebrew/brew.git

git -C "$(brew --repo homebrew/core)" remote set-url origin https://github.com/Homebrew/homebrew-core.git

git -C "$(brew --repo homebrew/cask)" remote set-url origin https://github.com/Homebrew/homebrew-cask.git

brew update

使用清华 Homebrew-bottles 镜像源, 这个是 Homebrew 二进制预编译包镜像,也就是你执行 brew install 时的源。

在 ~/.zshrc 末尾追加

export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles

参考:

基于 brew 安装一些依赖

  • mysql-client

    在 Python 开发中,如果你需要使用 mysql 数据库,你就离不开 mysql-client,如果使用了比较老版本的 MySQL-python、mysqlclient Python包的话建议安装 mysql-client@5.7 注意安装之后要按照提示设置环境变量.

    brew install mysql-client@5.7
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SvqeIYhU-1582552372389)(http://q2yw5gccm.bkt.clouddn.com/article-images/mysql-client.png)]

  • openssl

    如果你已经安装了 mysql-client 这个会被安装,算是一个特别基本的软件包了

    brew install openssl
    
  • Weasyprint 的依赖

    可以参照 Weasyprint 的官方文档,安装依赖 cairo、pango、gdk-pixbuf、libffi 这些也是必不可少的

    brew install cairo、pango、gdk-pixbuf、libffi 
    

依赖方面就暂时这些吧,等以后发现了再慢慢添加,暂时就这么多够我用了,如果哪位有自己的发现的一些依赖也可以告诉我,我好一起添加上去。

关于管理 Python 环境的问题

使用 virtualenv 来管理 Python 环境

在很长的一段时间内我使用 Python2.7 和 Python3.6 实现了所有的开发需求。一直使用 virtualenv 来管理虚拟环境。

通过 pip2 安装了 virtualenv 和 virtualenvwrapper 并且配置 virtualenvwrapper WORKON_HOME 为用户目录下的 .envs 目录

# python virtualenvwrapper
export WORKON_HOME=$HOME/.envs
export PROJECT_HOME=$HOME/workspace
source /usr/local/bin/virtualenvwrapper.sh

这样实现了对 Python2 的包管理。对于 Python3 它是集成有 venv ,可以直接使用如下命令来创建虚拟环境。

# 切换目录
cd ~/.envs

# 创建一个名字为 py3env 的虚拟环境
python3 -m venv py3env

Tap: 你可能有一个疑问“为什么要切换到 .envs 下目录下去创建?”,因为将 Python3 创建的虚拟环境也放在这个目录中,就可以使用 pip2 安装的 virtualenvwrapper 来管理,完全可以通过 workon py3env 进入。

我一直以为这是十分舒适的一种方式,直到昨天,我有一个 python2.6 的项目需要维护,因为有一些上古时代的依赖包在python2.7 下装不上,我需要再安装一个 Python2.6,我知道得改变一下了。

使用 pyenv 管理 Python 环境

使用 virtualenv 在不需要很多 Python 版本的情况下可以很舒适的管理 Python 环境。但是当需要多个版本的 Python 时就不行了。于是 pyenv 来了。

可以直接使用 brew 安装

brew install pyenv

# 安装 pyenv-virtualenv 插件
brew install pyenv-virtualenv

如果你在安装 pyenv 的时候如果你遇到了什么问题,可以来参考下边几个地址解决。

安装好 pyenv 可以这样安装 Python 版本

# 查看可选版本 
pyenv install --list

# 安装 Python2.6.8
pyenv install 2.6.8

# 如果你安装的时候可以试一下这个
SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk MACOSX_DEPLOYMENT_TARGET=10.14 pyenv install 3.6.8

然后使用 Python2.6.8 创建虚拟环境

 pyenv virtualenv 2.6.8 py26env

嗯,一切都是那么自然。

关于 pyenv 的更多使用方法 可以通过官方 Wiki 或 执行 pyenv commands 学习。

使用 miniconda 管理 Python 环境

Anoconda清华源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值