python虚拟环境安装

本文介绍了在Mac上创建Python 3.10虚拟环境的详细过程,包括解决homebrew和xcrun问题,使用virtualenv与virtualenvwrapper创建和管理虚拟环境。首先解决homebrew失效的问题,然后安装新版本Python,接着创建并激活虚拟环境,最后展示了如何通过virtualenvwrapper管理虚拟环境。

一、背景

背景:本身已经安装了python3.7版本的虚拟环境,不想直接动原环境,因此新建一个虚拟的python环境(目的是用最新的python版本3.10),记录一下过程中踩的一些坑。

二、安装过程

homebrew问题

首先遇到的是homebrew问题。在更新brew时,发现使用任何brew相关命令都报错(参考:Mac Homebrew命令报错
造成这个 Homebrew 失效的原因可能是 Mac系统升级后,旧版本的 Homebrew 不适配了

解决方式1:直接执行更新指令

brew update-reset
brew list 查看brew安装列表

解决方式2:手动更新brew
我遇到的问题是直接执行brew update-reset语句后还是报同样的错。因此手动更新下

brew的代码地址为:
https://github.com/Homebrew/brew
在mac上的存储目录为:
/usr/local/Homebrew

~  which brew
/usr/local/bin/brew
 ~  ls -al /usr/local/bin/brew
lrwxr-xr-x  1 user  admin  28  7 31  2019 /usr/local/bin/brew -> /usr/local/Homebrew/bin/brew

本质是个git repo,那么,可以通过直接同步代码来实现

cd /usr/local/Homebrew/
git pull

这时候遇到了xcrun问题(参考下一小节处理):

git pull
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

解决完brew问题后,后续就可以通过brew来完成各种操作了(定期更新 Homebrew常用指令

  • 更新包
brew outdated  # 查看哪些包可以更新
brew upgrade             # 更新所有的包
brew upgrade $FORMULA    # 更新指定的包
  • 清理旧版本
    一般情况下,新版本安装了,旧版本就不需要了。我会用 brew cleanup 清理旧版本和缓存文件。Homebrew 只会清除比当前安装的包更老的版本,所以不用担心有些包没更新但被删了。
brew cleanup             # 清理所有包的旧版本
brew cleanup $FORMULA    # 清理指定包的旧版本
brew cleanup -n          # 查看可清理的旧版本包,不执行实际操作
  • 查看包相关信息
brew info $FORMULA    # 显示某个包的信息
brew info             # 显示安装了包数量,文件数量,和总占用空间
  • 显示包的依赖关系
    查看已安装的包的依赖,判断哪些包是可以安全删除的。
brew deps --installed --tree    # 查看已安装的包的依赖,树形显示
  • 使brew每次执行前不要自动更新
    默认你每次使用brew安装某个包之前,brew都会率先执行自我更新(比较耗时)。若希望每次执行前不用更新,可将下面语句添加到环境变量中
# 使brew每次执行前不要自动更新   ( 可以将下面这个export 加到环境变量中去  )
export HOMEBREW_NO_AUTO_UPDATE=true

xcrun问题

参考:xcrun报错解决Xcode命令行工具Command Line Tools
解决报错:xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcru

一般Xcode安装后,第一次打开时,会弹窗提示安装Command Line Tools,直接安装即可。
如果当时没有安装,后面也可以单独安装

xcode-select --install	// 安装命令
xcode-select --version	// 查看版本

有时Command Line Tools出了问题,可以先尝试恢复默认设置来解决:

// 恢复默认设置(需要sudo权限)
sudo xcode-select --reset

还是解决不了,可以考虑删掉后重新安装:

// 强制删除安装目录下的文件
sudo rm -rf /Library/Developer/CommandLineTools

// 重新安装
xcode-select --install

虚拟环境工具

python虚拟环境有几个常用的工具:virtualenv、virtualenvwrapper、venv等(Python虚拟环境工具对比)。简单来说virtualenv是目前最流行的 python 虚拟环境配置工具,virtualenvwrapper是对 virtualenv 的一个封装,可以更方便地新增,删除,复制,切换虚拟环境(一般两者需要同时安装)。
由于本机中已经安装了virtualenv和virtualenvwrapper,这里直接使用。若第一次使用需要安装。(Mac系统下安装virtualenvwrapper教程

创建virtualenv 虚拟环境

需要先在系统里安装新的python版本(虚拟环境会在系统里找这个python版本,找到才可以创建虚拟环境)Mac环境下安装新版本Python

默认安装路径:/Library/Frameworks/Python.framework/Versions/xx(版本号)

可以使用命令open /Library/Frameworks/Python.framework/Versions/3.10 确认安装路径(我安装的是3.10)

修改环境变量(默认指向最新安装的python版本):

编辑环境变量
vim ~/.bash_profile

添加
alias python="/Library/Frameworks/Python.framework/Versions/3.10/bin/python3.10"

更新环境变量
source ~/.bash_profile

确认python安装成功

which python
python: aliased to /Library/Frameworks/Python.framework/Versions/3.10/bin/python3.10

python -V
Python 3.10.5

指定在虚拟环境中需要使用的python版本

mkdir ~/env/env3100 # 新建一个目录用于存放新环境
virtualenv env3100 --python=python3.10      # 命令后部是指定虚拟环境要使用的pyhon版本 --> 在虚拟环境所在目录 安装对应的python版本

created virtual environment CPython3.10.5.final.0-64 in 1201ms
  creator CPython3Posix(dest=~/env/env3100, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=~/Library/Application Support/virtualenv)
    added seed packages: pip==22.1.2, setuptools==62.6.0, wheel==0.37.1
  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator

找到 env3100->bin,执行命令:source activate 启动env3100 这个虚拟环境

cd ~/env/env3100/bin/
source activate

在虚拟环境下输入python,验证当前环境python版本。大功告成!

(env3100)  ~/env/env3100/bin  python -V
Python 3.10.5

输入 deactivate 命令,退出当前虚拟环境

deactivate

通过virtualenvwrapper管理所创建的虚拟环境

由于我之前已经安装过,新增环境不需做任何操作即可以通过workon查找到环境。初次安装可以按照下面步骤

1. 安装 virtualenvwrapper  
pip3 install virtualenvwrapper

3.安装完virtualenvwrapper,使用virtualenvwrapper.sh需要配置一下环境变量

首先 可以通过find命令找到virtualenvwrapper.sh
> sudo find / -name 'virtualenvwrapper.sh'   (一般都在/usr/local/bin/virtualenvwrapper.sh)
~/env/env370/bin/virtualenvwrapper.sh
 
把下面这三行 写入 ~/.bash_profile 文件中即可
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
export WORKON_HOME='~/env'
source /usr/local/bin/virtualenvwrapper.sh

配置完成后,输入:workon 命令可以查看当前虚拟环境
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值