Linux Python3 virtualenvwrapper

mac2022-06-30  95

Linux下的Python3安装:

如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境,

比如yum!!!!!

不要动现有的python2环境!

一、安装python3.6

1.安装依赖环境

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

2.下载Python3

wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz

3.解压文件

# 安装包路径下 tar -xvf Python-3.6.2.tgz

  解压下载好的Python-3.x.x.tgz包(具体包名因你下载的Python具体版本不不同⽽而不不同,如:我下载的是Python3.6.2.那我这里就是Python-3.6.2.tgz)

4.进入解压后的目录,释放编译文件

# cd Python-3.6.2 # 释放编译文件makefile # --prefix:指定文件安装目录 ./configure --prefix=/opt/python3

5.编译、安装

make make install

6.建立python3的软链接

ln -s /opt/python3/bin/python3 /usr/bin/python3

7.并将/opt/python3/bin加入PATH

# 方式一: # 修改/etc/profile文件,编辑这个文件,在最底行写入PATH # 使用echo $PATH查询当前所有环境变量 # 此处将python3的路径添加到最前面(否则可能会导致virtualenvwarapper中python3会使用物理环境中的路径) PATH=/opt/python3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin # 读取刷新 source /etc/profile # 方式二: # vim ~/.bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin:/opt/python3/bin export PATH # 读取刷新 source ~/.bash_profile

8.检查Python3及pip3是否正常可用:

python3 -V # Python 3.6.0 pip3 -V # pip 9.0.1 from /opt/python3/lib/python3.6/site-packages (python 3.6)

9.不行的话在创建一下pip3的软链接(我也不清楚这一步有什么用,没遇到过)

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

virtualenv

下载virtualenv工具

通过物理环境的pip工具安装pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv安装完成后你的linux就多了一个virtualenv命令

创建虚拟环境venv1 venv2

virtualenv --no-site-packages --python=python3 venv1

调用虚拟环境的命令: --no-site-packages 这是构建干净,隔离的模块的参数 --python=python3 这个参数是指定虚拟环境以哪一个物理解释器为基础的 最后一个是虚拟环境的名字 会创建这么一个文件夹

3.进入虚拟环境目录,激活虚拟环境

找到你的虚拟环境目录bin地下的activate文件 source myenv/venv1/bin/activate激活虚拟环境,原理就是修改了PATH变量,path是有顺序执行的 echo $PATH 检查环境变量which python3which pip3 检查虚拟环境是否正常退出虚拟换的命令 deactivate

virtualenvwrapper

安装这个命令,必须得在物理解释器地下,注意!!

pip3 install virtualenvwrapper

修改环境变量,每次开机就加载这个virtualenvwrapper工具

vim ~/.bashrc # vim编辑用户家目录下的.bashrc文件,这个文件是用户在登录的时候,就读取这个文件 # export 是读取shell命令的作用 # 这些变量根据你自己的绝对路径环境修改 export WORKON_HOME=~/Envs # 设置virtualenv的统一管理目录 export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' # 添加virtualenvwrapper的参数,生成干净隔绝的环境 export VIRTUALENVWRAPPER_PYTHON=/opt/python3/bin/python3 # 指定python解释器 source /opt/python3/bin/virtualenvwrapper.sh # 执行virtualenvwrapper安装脚本

3.重新登录会话,使得这个配置生效

4.virtualenvwrapper工具命令:

mkvirtualenv 虚拟环境名 自动下载虚拟环境,且激活虚拟环境 workon 虚拟环境名 激活虚拟环境 deactivate 退出虚拟环境 rmvirtualenv 删除虚拟环境 cdvirtualenv 进入当前已激活的虚拟环境所在的目录 cdsitepackages 进入当前激活的虚拟环境的,python包的目录

Django:

安装Django

pip3 install django

创建django项目

django-admin startproject mysite

创建django的App应用

django-admin startapp app01

配置settings.py中所需要的变量

ALLOWED_HOSTS = ['*']

启动项目

Linux环境变量配置

在linux系统下,如果下载并安装了应用程序,在启动时很有可能在键入它的名称时出现"command not found"的提示内容。如果每次都到安装目标文件夹内,找到可执行文件 来进行操作就太繁琐了,这种情况下就涉及到环境变量PATH的设置问题,而PATH的设置也是在linux下定制环境变量的一个组成部分。

环境变量配置的两个方法:

1)修改/etc/profile文件 推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,缺点是可能会给系统带来安全性问题。 这里是针对所有的用户的,所有的shell; [root@test ~]# vim /etc/profile .... export PATH=$PATH:/usr/local/mysql/bin 使用source命令使修改立刻生效: [root@test ~]# source /etc/profile # 在/etc/profile里设置系统环境变量时,路径末尾不能以"/"结尾,否则将导致整个PATH变量出错 2)修改.bashrc文件, 这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,这里是针对某一个特定的用户,如果需要给某个用户权限使用这些环境变量,只需要修改其个人用户主目录下的.bashrc文件就可以了。 [root@test ~]# vim /root/.bashrc export PATH=$PATH:/usr/local/mysql/bin [root@test ~]# source /root/.bashrc

.bash_profile和.bashrc的区别

/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取.~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件.

另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.

转载于:https://www.cnblogs.com/jiumo/p/10170740.html

最新回复(0)