Mac上虚拟环境的安装与使用
Mac上虚拟环境的安装与使用
介绍
virtualenv是python虚拟环境,能够和系统环境相隔离,保持环境的纯净。
virtualenvwrapper可以方便管理虚拟环境
安装
pip install virtualenv
pip install virtualenvwrapper
virtualenv使用
1. 创建虚拟环境
如将虚拟环境创建在~/workspaces/project_env/spider/目录下
virtualenv ~/workspaces/project_env/spider/
这样虚拟环境就创建好了,我们可以看到在这个目录下油三个目录被建立
bin:包含一些在这个虚拟环境中可用的命令,以及开启虚拟环境的脚本 activate
include:包含虚拟环境中的头文件,包括 Python 的头文件
lib:这里面就是一些依赖库
2. 进入虚拟环境
source ~/workspaces/project_env/spider/bin/activate
此时我们就已经在虚拟环境中了
3. 退出虚拟环境
deactivate
virtualenvwrapper使用
1. 配置
首先需要对virtualenvwrapper进行配置:
需要指定一个环境变量,叫做WORKON_HOME,它是用来存放各种虚拟环境目录的目录
需要export vitualenvwrapper这个模块存放的位置
需要运行一下它的初始化工具 virtualenvwrapper.sh,可通过which virtualenvwrapper.sh查看位置,我的在/Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh
由于每次都需要执行这两步操作,我们可以将其写入终端的配置文件.bash_profile中。
这样每次启动终端的时候都会自动运行,终端启动之后 virtualenvwrapper 就可以用啦
vim ~/.bash_profile编辑文件,将下列三条添加进去
export WORKON_HOME=~/Workspaces # 虚拟环境保存目录
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3 # 创建虚拟环境时引用的python目录
source /Library/Frameworks/Python.framework/Versions/3.7/bin/virtualenvwrapper.sh # virtualenvwrapper.sh目录
添加完后不要忘记按ESC键后,:wq保存退出
source ~/.bash_profile # 使配置生效
2. 创建虚拟环境
mkvirtualenv env
创建虚拟环境完成后,会自动切换到创建的虚拟环境中
当然也可以指定虚拟机的 python 版本
mkvirtualenv -p /usr/local/bin/python3 env
3. 查看虚拟环境
workon 或者 lsvirtualenv
4. 进入虚拟环境、切换虚拟环境
workon [虚拟环境名称]
5. 删除虚拟环境
rmvirtualenv [虚拟环境名称]
6. 退出虚拟环境
deactivate
Mac上虚拟环境的安装与使用的更多相关文章
- Mac上tesseract-OCR的安装配置
Mac上tesseract-OCR的安装配置 tesseract简介 OCR(Optical Character Recognition)即光学字符识别技术,专门用于对图片文字进行识别,并获取文本. ...
- Mac上brew&thrift安装 以及在thrift架构下,自己新作了maven的小例 Demo
1.缘由 前几天偶尔在网上看到thrift的信息,其内容和作用极大的引起了我的兴趣,因为我也是做iOS开发的,通过在网上的查询发现信息虽然很多实用的很少,容易误导他人,经过自己的成功实践,做了笔录,为 ...
- MAC上Nuclide的安装
MAC上Nuclide的安装 本文版权归作者全部,如需转载请联系孟祥月 CSDN博客:http://blog.csdn.net/mengxiangyue 独立博客:http://mengxiangyu ...
- mac上python3.x安装 图文详解
mac安装brew报错及解决办法 https://blog.csdn.net/zdp072/article/details/82563320 更改脚本中的资源链接,替换成中国科学技术大学的镜像 htt ...
- Mac上git的安装配置与使用简述
Mac下git搭建及使用 之前就只是经常在GitHubs上下载代码,也没注意怎么上传项目.一开始对git都没什么了解花了几个小时去小补了下知识.如果有需要可以转去这里学习:[GIT使用简易指南] (h ...
- MAC上 nodejs express 安装
最近在MAC上搭建 nodejs环境以及安装 express 框架,遇到了一些问题,不过最后总算还是安装成功了,下面是操作步骤 1.node js 安装 访问nodejs官网进入下载mac上的安装包 ...
- Mac 上flink的安装与启动
在Mac 上安装flink,需要通过Homebrew安装的 1.howmebrew的安装方式,在终端粘贴以下命令,或者去官网https://brew.sh/index_zh-cn 找到此代码复制粘贴到 ...
- docker在Mac上的下载安装
在Mac上下载安装docker,下载链接:Stable 安装成功后启动终端,检查安装后的docker版本: yanguobindeMacBook-Pro:~ yanguobin$ docker --v ...
- 解决在Mac上用pyenv安装python3失败的问题
背景 前段时间在本地Mac系统上要跑一个python3写的压测脚本. Mac默认安装的是python2, 而且很多软件依赖的也是python2. 为了不影响现有系统其它软件, 当时安装了pyenv来实 ...
- mac上virtualBox的安装和使用
一.下载和安装 去oracle官网下载mac版的virtualBox. 官网下载地址:https://www.virtualbox.org/. 下载好后按照向导进行安装即可. 二.使用方法 1.新建虚 ...
随机推荐
- 使用yaml进行数据驱动
一.需求描述 1.请求登陆接口,从登陆接口的响应头数据中获取token值,并写入yml文件: 2.读取写入yml文件中的token值作为下个接口的传参,请求查询物料列表接口,查看查询结果. yaml_ ...
- go语言字符与字符串相关
ASCII ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁 字母的一套单字节编码系统 字符 本质上来 ...
- 搭建springbootweb环境
搭建springboot环境(idea环境) 实现步骤: 1.基础环境配置 2.maven配置 3.编写第一个程序helloworld(可能有两个小问题) 4.运行(jar包运行,命令行运行) 一.基 ...
- undefined reference to错误的解决方法
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/cserchen/article/deta ...
- k8s实战案例之基于StatefulSet控制器运行MySQL一主多从
1.前言 Pod调度运⾏时,如果应⽤不需要任何稳定的标示.有序的部署.删除和扩展,则应该使⽤⼀组⽆状态副本的控制器来部署应⽤,例如 Deployment 或 ReplicaSet更适合⽆状态服务需求, ...
- PicoRV32-on-PYNQ-Z2: An FPGA-based SoC System——RISC-V On PYNQ项目复现
本文参考: 1️⃣ 原始工程 2️⃣ 原始工程复现教程 3️⃣ RISCV工具链安装教程 本文工程: https://bhpan.buaa.edu.cn:443/link/4B08916BF2CDB4 ...
- TVM-MLC LLM 调优方案
本文地址:https://www.cnblogs.com/wanger-sjtu/p/17497249.html LLM 等GPT大模型大火以后,TVM社区推出了自己的部署方案,支持Llama,Vic ...
- 如何在long-running task中调用async方法
什么是 long-running thread long-running task 是指那些长时间运行的任务,比如在一个 while True 中执行耗时较长的同步处理. 下面的例子中,我们不断从队列 ...
- Unity的IPostGenerateGradleAndroidProject:深入解析与实用案例
Unity IPostGenerateGradleAndroidProject Unity是一款流行的跨平台游戏引擎,它支持多种平台,包括Android.在Unity中,我们可以使用IPostGene ...
- VueJS使用addEventListener的事件如何触发执行函数的this
1.使用浏览器监听切屏为例 此处为考虑浏览器兼容性推荐使用:document.addEventListener 1.1.正常函数使用如下: let n = 0; let max = 3; // 切屏最 ...