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解释器,好麻 ...
随机推荐
- osgi实战学习之路:6. Service-1
什么是Service? 它是注冊到osgi的一个java对象 Service注冊: 通过BundleContext::registerService(java.lang.String[] clazze ...
- Odoo 8.0 new API 之one装饰
one装饰器的作用是对每一条记录都执行对应的方法,相当于traditional-style中的function 应用举例: 定义的columns now = fields.Datetime(compu ...
- am335x gpio 控制的另一种方法
#include <linux/gpio.h> #include <linux/module.h> #include <linux/kernel.h> #in ...
- easyui datagrid columns 如何取得json 内嵌对象(many-to-one POJO class)
http://www.iteye.com/problems/44119 http://hi.baidu.com/lapson_85/item/7733586e60b08500a1cf0f8d ———— ...
- erlang-sunface的博客地址
erlang-sunface的博客地址: http://blog.csdn.net/abv123456789/article/category/2206185
- unity导弹算法 预计目标点
关于导弹的飞行算法,网上有很多教程.简单算法无非是获取目标点的当前位置,然后导弹朝目标方向移动.高深点的,就是通过计算获取碰撞点然后朝着目标移动.如果你能看懂这个高深算法的话,可以去看原帖:http: ...
- 【代码备份】原图降采样后进行NLM滤波
文件路径: 滤波算法main.m: %% 测试函数 %NLM滤波及滤波与 clc,clear all,close all; ima_ori=double(imread('F:\Users\****n\ ...
- Spring_day04--HibernateTemplate介绍_整合其他方式_Spring分模块开发
HibernateTemplate介绍 1 HibernateTemplate对hibernate框架进行封装, 直接调用HibernateTemplate里面的方法实现功能 2 HibernateT ...
- 《jquery权威指南2》学习笔记------ jquery获取复选框的值
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- delay()延迟
jquery的delay()方法: delay() 方法对队列中的下一项的执行设置延迟. 封装方法: $.fn.fadeInWithDelay = function(){ var delay = 0; ...