从安装第三方软件学习Ubuntu配置

使用电脑浏览效果更佳!

在这篇文章中,将学到:

  • Ubuntu安装软件从系统源到第三方软件源配置
  • Ubuntu安装软件默认配置(路径,环境变量)
  • 待添加

软件更新

Ubuntu16.04 默认安装了python3.5和python2.7,但是没有安装对应的pip包管理器。在进行 sudo apt-get install python-pipsudo apt-get install python3-pip 或默认根据系统版本python下载安装对应的python -pip包。在python解析器中2.7和3.6为稳定版本。下面将更新系统python3.5到python3.6:

系统软件默认路径

Ubuntu对默认安装的路径为 usr/lib

1577521391645

但其安装的软件目录结构不同于windows平台下的配置(环境变量)

在Linux下:

软件的可执行文件(将要配置在环境变量$PATH中)与python 包dict-package分散在 /usr/bin/usr/lib/pythonX中。在 /usr/bin中多为一个链接文件:

1577521639757

在Windows上:

系统环境变量的顺序决定了优先配置运行哪个版本的同名exe:

  1. pip -V

  2. virtualenv -V (python2,python3都可以通过virtualenv pythonX -m pip install vitualenv创建虚拟环境,只是python3封装了python -m venv workname

系统支持多版本软件共存配置

不要更改系统python3->python3.5的连接

Ubuntu支持对多版本软件工具默认自动切换:

  • php5.7 php7.0
  • python.5 python3.6

不过是建立软件链接的关系:(如在/usr/bin目录下)

Ubuntu支持工具update-alternatives 对默认版本的控制(不用每次都删除链接更新链接)

在此处使用update-alternatives 对python3的版本进行管理:

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2

sudo update-alternatives --config python3

上面步骤存在bug:

due to this bug, gnome-terminal won’t launch after step 3, a workaround is running following commands to recreate the symlink:

sudo update-alternatives --remove python3 /usr/bin/python3.5

sudo update-alternatives --remove python3 /usr/bin/python3.6

# 解决终端启动不了问题



sudo rm /usr/bin/python3
sudo ln -s python3.6 /usr/bin/python3

第三方软件源安装

关于python3.6在Ubuntu16.04的安装 参考

在Ubuntu上安装软件 托管于系统源的可以直接通过apt-get进行命令安装,国内镜像源(清华,阿里)是对其的复制,但其他的软件在安装源中找不到版本的需要通过第三方安装源进行安装:PPA

1577523168265

可以通过手动命令行,界面添加、删除PPA

sudo apt-get install software-properties-common

sudo add-apt-repository ppa:jonathonf/python-3.6 
sudo apt-get update 
sudo apt-get install python3.6

但此处的jonathonf已经失效,要更改 ppa:

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update

sudo apt-get install python3.6

ls /usr/bin/ | grep python
ls /usr/lib/ | grep python

python 虚拟环境使用

python2|python3都支持 virtualenv进行虚拟执行环境,python3增加对 python3 -m venv name 的支持

virtualenv -h
virtualenv -p /usr/bin/python2.7 env2.7
virtualenv -p /usr/bin/python3.5 env3.5
source env2.7/bin/activate

python3 -m venv name

virtualenvwrapper使用

参考

pip install virtualenvwrapper-win
pip install virtualenvwrapper        # linux环境
# pip可以是任何版本

find / -name virtualenvwrapper.sh
找到路径之后在/etc/profile中进行配置:

export WORKON_HOME=/root/virtualenvs
source /usr/bin/virtualenvwrapper.sh

之后source /etc/profile

创建基本环境:
mkvirtualenv [环境名]
mkvirtualenv -p python3.6 py3
mkvirtualenv -p python2.7 py2
mkvirtualenv student-env -p 'which python3.6'
删除环境:rmvirtualenv [环境名]
激活环境:workon [环境名]
退出环境:deactivate
列出所有环境:workon 或者 lsvirtualenv -b

pip 安装指定版本:
pip install django~= 1.11

~= 安装Django1.11的最新版本

Linux 环境变量

Linux是一个多用户多任务的操作系统,可以在Linux中为不同的用户设置不同的运行环境,具体做法是设置不同用户的环境变量。

Linux环境变量分类

一、按照生命周期来分,Linux环境变量可以分为两类:
1、永久的:需要用户修改相关的配置文件,变量永久生效。
2、临时的:用户利用export命令,在当前终端下声明环境变量,关闭Shell终端失效。

二、按照作用域来分,Linux环境变量可以分为:
1、系统环境变量:系统环境变量对该系统中所有用户都有效。
2、用户环境变量:顾名思义,这种类型的环境变量只对特定的用户有效。

Linux设置环境变量的方法

一、在/etc/profile文件中添加变量 对所有用户生效(永久的)
用vim在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
例如:编辑/etc/profile文件,添加CLASSPATH变量

  vim /etc/profile    
  export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

注:修改文件后要想马上生效还要运行source /etc/profile不然只能在下次重进此用户时生效。
二、在用户目录下的.bash_profile文件中增加变量 【对单一用户生效(永久的)】
vim ~/.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。

vim ~/.bash.profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

注:修改文件后要想马上生效还要运行$ source ~/.bash_profile不然只能在下次重进此用户时生效。
三、直接运行export命令定义变量 【只对当前shell(BASH)有效(临时的)】
在shell的命令行下直接使用export 变量名=变量值
定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

Linux环境变量使用

一、Linux中常见的环境变量有:

  • PATH:指定命令的搜索路径

PATH声明用法:
PATH=$PAHT:<PATH 1>:<PATH 2>:<PATH 3>:——–:< PATH n >
export PATH
你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效。
可以利用echo $PATH查看当前当前系统PATH路径。

  • HOME:指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)。
  • HISTSIZE:指保存历史命令记录的条数。
  • LOGNAME:指当前用户的登录名。
  • HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的
  • SHELL:指当前用户用的是哪种Shell。
  • LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
  • MAIL:指当前用户的邮件存放目录。

注意:上述变量的名字并不固定,如HOSTNAME在某些Linux系统中可能设置成HOST

二、Linux也提供了修改和查看环境变量的命令,下面通过几个实例来说明:

  • echo 显示某个环境变量值 echo $PATH
  • export 设置一个新的环境变量 export HELLO=”hello” (可以无引号)
  • env 显示所有环境变量
  • set 显示本地定义的shell变量
  • unset 清除环境变量 unset HELLO
  • readonly 设置只读环境变量 readonly HELLO

三、C程序调用环境变量函数

  • getenv()返回一个环境变量。
  • setenv()设置一个环境变量。
  • unsetenv()清除一个环境变量。

 上一篇
环境配置 环境配置
使用电脑浏览效果更佳! 整理常用的win | linux环境,包括开发用环境:Jetbrain全家桶crack过程; Jetbrains全家桶 关注最新的 refer 【重要】 2.以IDEA为例 2.1 官网下载对应版本 20
2019-12-29
下一篇 
Useful trick for linuxs work Useful trick for linuxs work
使用电脑浏览效果更佳! find special content and locate the filefor source file: find . -name "*.php" | xargs grep "function_n
2019-10-23
  目录