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解释器,好麻 ...
随机推荐
- exit会结束一个进程
#include <stdio.h> #include <unistd.h> #include <sys/types.h> #include<stdlib.h ...
- 启动BusyBox内建的FTP Server
启动BusyBox内建的FTP Server 要启动BusyBox内建的FTP Server,我们需要先孰悉tcpsvd与ftpd这两个命令. tcpsvd可以建立TCP socket,并将它bi ...
- oracle查询数据库最大连接数等信息
.当前的数据库连接数 select count(*) from v$process where program='ORACLE.EXE(SHAD)'; .数据库允许的最大连接数 select valu ...
- 我的vim 自动实例括号函数
不废话,直接上代码: """"""""""""""" ...
- kettle的日志
http://blog.sina.com.cn/s/blog_76a8411a01010u2h.html
- MapReduce的InputFormat过程的学习
转自:http://blog.csdn.net/androidlushangderen/article/details/41114259 昨天经过几个小时的学习,把MapReduce的第一个阶段的过程 ...
- GitHub 上 57 款最流行的开源深度学习项目【转】
GitHub 上 57 款最流行的开源深度学习项目[转] 2017-02-19 20:09 334人阅读 评论(0) 收藏 举报 分类: deeplearning(28) from: https:// ...
- cookie,Session机制的本质,跨应用程序的session共享
目录:一.术语session二.HTTP协议与状态保持三.理解cookie机制四.理解session机制五.理解javax.servlet.http.HttpSession六.HttpSession常 ...
- java----序列化与反序列化中及java序列化本质就是存储一个对象,然后在其他地方在调用它
Java 序列化Serializable详解(附详细例子) 1.什么是序列化和反序列化Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是 ...
- 小结:双连通分量 & 强连通分量 & 割点 & 割边
概要: 各种dfs时间戳..全是tarjan(或加上他的小伙伴)无限膜拜tarjan orzzzzzzzzz 技巧及注意: 强连通分量是有向图,双连通分量是无向图. 强连通分量找环时的决策和双连通的决 ...