Python3.6编译安装以及python开发之virtualenv与virtualenvwrapper
Python3.6编译安装
下载python源码包
先到安装目录
cd /opt
下载源码包
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
下载python3编译的依赖包
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
解压缩源码包
tar -xvf Python-3.6..tgz
进入源码包文件夹
cd Python-3.6.
编译且安装
1.进入源码包目录
. ls查看源码包内容,是否存在configure文件
. 释放编译文件 Makefile
./configure --prefix=/opt/python36/
--prefix 这个参数 是制定一个安装路径
.编译
make
.编译安装,此步执行 make install 才会最终生成 /opt/python36/.进入/opt目录查看python36文件夹,我们要的python3都在这里了
cd /opt/
ls
更改linux的path变量,添加python3
#一定要将python3的目录放在第一位
#一定要将python3的目录放在第一位
#一定要将python3的目录放在第一位 为了永久生效path设置,添加到/etc/profile全局环境变量配置文件中
vim /etc/profile
PATH=/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
读取配置文件/etc/profile
source /etc/profile
安装django模块
pip3 install -i https://pypi.douban.com/simple django==1.11.16
查看当前解释器的python模块有哪些
pip3 list
python开发之virtualenv
下载virtualenv
pip3 install -i https://pypi.douban.com/simple virtualenv
使用命令创建新的分身(解释器的分身)
virtualenv --no-site-packages --python=python3 qishi1(分身名)
查看qishi1这个分身文件夹
激活分身,激活解释器
source /opt/qishi1/bin/activate
检查虚拟环境的意义所在,以及是否成功
在虚拟环境中安装django1.11.16模块
pip3 install django
通过命令创建django项目,测试访问
cd /opt 回到opt目录
.第一步
django-admin startproject mysite
.第二步 修改django的settings文件
vim mysite/mysite/settings.py
修改
ALLOW_HOSTS=['*']
.启动项目
cd /mysite
python3 manage.py runserver 0.0.0.0:
.确保防火墙已经关闭
iptables -F
.在浏览器中访问 虚拟机ip:
退出虚拟环境
deactivate
virtualenvwrapper
virtualenv
的一个最大的缺点就是:
每次开启虚拟环境之前要去虚拟环境所在目录下的 bin
目录下 source
一下 activate
,这就需要我们记住每个虚拟环境所在的目录。
并且还有可能你忘记了虚拟环境放在哪。。。
- 一种可行的解决方案是,将所有的虚拟环境目录全都集中起来,例如/opt/all_venv/,并且针对不同的目录做不同的事。
- 使用virtualenvwrapper管理你的虚拟环境(virtualenv),其实他就是统一管理虚拟环境的目录,并且省去了source的步骤。
安装virtualenvwrapper
注意退出所有的虚拟环境!!! 在物理环境下安装
注意退出所有的虚拟环境!!! 在物理环境下安装
注意退出所有的虚拟环境!!! 在物理环境下安装
pip3 install virtualenvwrapper
设置linux的用户个人配置文件~/.bashrc
vim ~/.bashrc
写入以下全部代码
WORKON_HOME=~/Envs #设置virtualenv的统一管理目录,以后自动下载的虚拟环境,全都放这了
VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' #添加virtualenvwrapper的参数,生成干净隔绝的环境
VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3 #指定python解释器的本体
source /opt/python36/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本
退出会话,重新登录生效,且每次登录的时候,就自动加载virtualenvwrapper工具
测试新建一个虚拟环境
基本使用virtualenvwrapper
创建一个虚拟环境:
$ mkvirtualenv my_django115
这会在 ~/Envs 中创建 my_django115 文件夹。 在虚拟环境上工作:激活虚拟环境my_django115
$ workon my_django115 再创建一个新的虚拟环境
$ mkvirtualenv my_django2 virtualenvwrapper 提供环境名字的tab补全功能。
当有很多环境, 并且很难记住它们的名字时,这就显得很有用。 workon还可以任意停止你当前的环境,可以在多个虚拟环境中来回切换
workon django1. workon django2. 也可以手动停止虚拟环境
deactivate 删除虚拟环境,需要先退出虚拟环境
rmvirtualenv my_django115
常用其他命令
lsvirtualenv
列举所有的环境。
cdvirtualenv
导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages 。
cdsitepackages
和上面的类似,但是是直接进入到 site-packages 目录中。
lssitepackages
显示 site-packages 目录中的内容。 完整官网介绍:https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html
Python3.6编译安装以及python开发之virtualenv与virtualenvwrapper的更多相关文章
- python开发之virtualenv与virtualenvwrapper讲解
在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题: 亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难. 此时,我们需要对于不同的工程使用 ...
- 10,python开发之virtualenv与virtualenvwrapper
在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题: 亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难. 此时,我们需要对于不同的工程 ...
- Python开发之virtualenv和virtualenvwrapper详解
在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题: 亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难. 此时,我们需要对于不同的工程使用 ...
- python开发之virtualenv与virtualenvwrapper
在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题: 亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难. 此时,我们需要对于不同的工程使用 ...
- 9.4python开发之virtualenv与virtualenvwrapper
在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题: 亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难. 此时,我们需要对于不同的工程使用 ...
- python开发之路:python数据类型(老王版)
python开发之路:python数据类型 你辞职当了某类似微博的社交网站的底层python开发主管,官还算高. 一次老板让你编写一个登陆的程序.咔嚓,编出来了.执行一看,我的妈,报错? 这次你又让媳 ...
- Centos6下Python3的编译安装
本文转载自 Centos6下Python3的编译安装 系统环境:CentOS 6.8-Minimal 安装Python依赖包: 1 [root@Python src]# yum install zli ...
- Python3源代码编译安装
Python3源代码编译安装 安装必要工具 yum-utils ,它的功能是管理repository及扩展包的工具 (主要是针对repository) $ sudo yum install yum-u ...
- Python开发之IDE选择
Python开发之IDE 一.为什么用IDE 到现在为止,谁还不是个写过代码的人啦,但你有没有发现,每次写代码要新建文件.写完保存时还要选择存放地点,执行时还要切换到命令行调用python解释器,好麻 ...
随机推荐
- 上传绕过WAF几种常见的姿势
1:WTS-WAF 绕过上传原内容:Content-Disposition: form-data; name="up_picture"; filename="xss.ph ...
- 关于ubuntu系统boot分区空间不足而又无法卸载旧内核的解决方法
2016年09月03日 14:16:45 萧氏一郎 阅读数:7802 标签: ubuntuboot分区清理更多 个人分类: linux 版权声明:本文为本猿原创文章,转载务必注明出处,多谢. ht ...
- pip和 easy_insall的区别
作为Python爱好者,如果不知道easy_install或者pip中的任何一个的话,那么...... easy_insall的作用和perl中的cpan,ruby中的gem类似,都提供了在线一键 ...
- linux查看端口命令和kill
1.查看 netstat -atunlp 2kill:kill -9 PID
- JavaScript语言精粹读书笔记- JavaScript对象
JavaScript 对象 除了数字.字符串.布尔值.null.undefined(都不可变)这5种简单类型,其他都是对象. JavaScript中的对象是可变的键控集合(keyed collecti ...
- latex之插入数学公式
1. \begin{eqnarray} Ly = \lambda y \end{eqnarray} 2. \begin{gather*} \begin{split} b\\ a=b \end{spli ...
- MyBatis-Spring-Boot 使用总结
接 MyBatis-Spring 使用总结 . mybatis开发团队为Spring Boot 提供了 MyBatis-Spring-Boot-Starter . 首先,MyBatis-Sprin ...
- 第二百八十一节,MySQL数据库-SQL注入和pymysql模块防止SQL注入
MySQL数据库-SQL注入和pymysql模块防止SQL注入 SQL注入就是通过SQL语句绕开程序判断,获取到数据库的内容 下面以一个简单的程序登录SQL注入举例: 正常登录 1.数据库有一张会员表 ...
- CONTEST23 2014xmoi邀请赛(被pj虐哭)
http://www.luogu.org/contest/show?tid=23 表示被普及的虐瞎了T_T_T_T_T_T_T_TT_T_T_T_T_T_T_T_T 33名100多分滚粗 各种贪心神题 ...
- 【BZOJ】1615: [Usaco2008 Mar]The Loathesome Hay Baler麻烦的干草打包机(模拟+bfs)
http://www.lydsy.com/JudgeOnline/problem.php?id=1615 这种题..... #include <cstdio> #include <c ...