0.python安装

ubuntu16.04默认:安装了python2.7和python3.5;

Ubuntu18.04默认:只有python3.6.8

下面是针对16.04:



python/python2/python2.7默认启动的是2.7版本;python3/python3.5才启动3.5.2版本

/usr/bin                           /usr/lib

但有些模块不支持3.5,需要安装更高的版本

安装python3.6并更改优先级,使得输入python/python3时,启动python3.6

sudo add-apt-repository ppa:jonathonf/python-3.6

提示:add-apt-repository:找不到命令

解决:sudo apt-get install software-properties-common

sudo apt-get update

sudo apt-get install python3.6

安装完成后/usr/bin下:

调整python3优先级,解决存在多个python版本混乱的情况

调整Python3的优先级,使得3.6优先级较高

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

使得输入python3命令时,版本是此优先级最高的那个

更改默认值,python默认为Python2,现在修改为Python3

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

使得输入python命令时,版本是此优先级最高的那个

安装pip

pip默认安装在python2.7的第三方模块目录中

pip3默认安装在python3的第三方模块目录中

模块安装目录:用 [pip show 模块名] 来查看

设置了优先级后,模块被安装在,home/用户/优先级高的python目录中:/home/manager/.local/lib/python3.6/site-packages

查看各个python版本所使用的pip目录:python2.7/3.5/3.6 –m pip -V

问题:实际安装的都是python2.7/3.5/3.6,为什么会有/usr/lib/python3目录

python3应该是python3.*多个版本共用的,如装了pip3后,python3.5和3.6的都用这个pip3

所以应该是和优先级有关,python3是优先级高的版本的引用

更新pip源

通过修改配置文件:

创建.pip文件夹

mkdir ~/.pip

创建pip.conf配置文件
vim ~/.pip/pip.conf

然后将下面这两行复制进去就好了
[global]
index-url = https://mirrors.aliyun.com/pypi/simple

其他地址:豆瓣:http://pypi.douban.com/simple/(注意末尾加 / ,否则无法)

目录说明:

/usr相当于C:/Windows,/usr/bin可执行程序单独拿出来放在这里,相当于C:/Windows/System32,/usr/lib库文件

/usr/local是用户的程序安装目录,相当于C:/Progrem Files

../home/用户/.local目录,与/usr/local类似,只是相当于在D盘

作死问题:删除Ubuntu自带python后左侧栏/终端打不开,没有了图形化显示

重新安装:sudo apt-get install ubuntu-minimal ubuntu-standard ubuntu-desktop

图形化显示依赖于python。。。但装好后,终端还是打不开,最后还不如重装个18.04


linux文件权限

【文件或文件夹】【owner权限】【group权限】【others权限】

【文件是-,文件夹是d】【可读/可写/可执行】

不可读/写/执行,用 – 表示

r 读权限read  4

w 写权限write 2

x 操作权限execute  1

chomd 777 所有人都有对文件的所有权限

linux命令

grep -rn "str" *    # 递归搜索str

text | xargs    # 将text已空格分隔为多个部分

0.5. 喜讯,Ubuntu18.04中只有python3,而且还是3.6.8,不需要区分到底是python2还是python3了

不过python命令不被识别,只有python3命令


1.pycharm-linux安装破解:

https://blog.csdn.net/sinat_41029600/article/details/80594993

18.0.4运行pycharm.sh后右击快速启动栏图标不能add to my favourites

随便新建一个项目,点击tools->create Desktop Entry

关闭pycharm并重新运行pycharm.sh,再次右击图标就可以add to my favourites

2.虚拟环境配置:

安装virtualenvwrapper,与virtualenv区别:可以指定虚拟环境的默认目录

pip3 install virtualenvwrapper

上述工具装好后找不到mkvirtualenv命令,需要执行以下环境变量设置。

1.创建目录用来存放虚拟环境
     mkdir $HOME/python/python_virtual

2.在~/.bashrc中添加行:
     export WORKON_HOME=$HOME/python/python_virtual
     source ~/.local/bin/virtualenvwrapper.sh

注:virtualenvwrapper.sh也可能在/usr/local/bin下:

source /usr/local/bin/virtualenvwrapper.sh

如果出现No module named virtualenvwrapper … in path …或 virtualenvwrapper could not find virtualenv in your path,则再增加这两行:

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
      export VIRTUALENVWRAPPER_VIRTUALENV=/home/justaman/.local/bin/virtualenv

3.运行使生效:
     source ~/.bashrc

4.创建python虚拟环境

mkvirtualenv [虚拟环境名称]

workon [虚拟环境名称]

3.退出虚拟环境 离开 deactivate

4.rmvirtualenv [虚拟环境名称]

参考:https://blog.csdn.net/gzy686/article/details/81811288

虚拟环境用的哪个python版本与设置的优先级有关,使用优先级高的

3.导入requirements

先生成requirements.txt文件

pip freeze > requirements.txt

安装requirements.txt依赖

pip install -r requirements.txt


对于迁移的项目:

以包的形式

先执行其中的requirements.txt,安装好需要的模块

linux-部署1的更多相关文章

  1. ASP.NET Linux部署(2) - MS Owin + WebApi + Mono + Jexus

    ASP.NET Linux部署(2) - MS Owin + WebApi + Mono + Jexus 本文承接我的上一篇博文: ASP.NET 5 Linux部署,那篇文章主要是针对最新的ASP. ...

  2. Linux 部署ASP.NET SQLite 应用 的坎坷之旅 附demo及源码

    Linux 部署ASP.NET SQLite 应用 的坎坷之旅.文章底部 附示例代码. 有一台闲置的Linux VPS,尝试着部署一下.NET 程序,结果就踏上了坑之路,不过最后算是完美解决问题,遂记 ...

  3. Linux部署ASP.NET 5 (vNext)

    原文:Linux部署ASP.NET 5 (vNext) ASP.NET 5 (vNext) Linux部署   引言 工欲善其事,必先利其器. 首先,我们先明确下以下基本概念 Linux相关 Ubun ...

  4. Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包

    Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>& ...

  5. Linux部署与基本指令

    把以前写的linux发布一下下吧,写的真的好差劲... Linux部署   chmod:改变一个文件的权限 改变abc的权限为777 常用的权限: 777-644-755 ************** ...

  6. NetCore1.1+Linux部署初体验

    1.环境准备 Centaos7+Win10 虚拟机 Win10安装VS2017 https://www.asp.net/downloads注意勾选下.Net Core 3.Centaos安装netco ...

  7. linux部署服务器遇到tomcat already start

    linux部署服务器遇到tomcat already start 前言,之前做了个汽车停车计费的后端,然后现在需要部署到服务器.正常部署,使用secureFx找到所属webapps目录,将文件上传.然 ...

  8. SpringBoot进阶教程(二十三)Linux部署Quartz

    在之前的一篇文章中<SpringBoot(九)定时任务Schedule>,已经详细介绍了关于schedule框架的配置和使用,有收到一些朋友关于部署的私信,所以抽时间整理一个linux部署 ...

  9. 【Docker】(3)---linux部署Docker、Docker常用命令

    linux部署Docker.Docker常用命令 本次部署Linux版本:CentOS 7.4 64位. 说明: 因为Docker是基于Linux 64bit的 所以Docker要求64位的系统且内核 ...

  10. Linux部署笔记分享

    # Linux部署 ## 安装lrzsz1. 安装lrzsz: yum -y install lrzsz2. 进入tmp目录3. rz 上传安装文件 jdk-8u65-linux-x64.tar.gz ...

随机推荐

  1. 计算机基础 ---- 编码(er)

    1.字符集与编码 字符集:字符组成的集合,汉字,字母,符号被收录到标准的字符集合 编码:规定每个字符使用一个字节还是多个字节存储,那些字节来存储的规定 术语:字符编码(character encodi ...

  2. Java & PHP RSA 互通密钥、签名、验签、加密、解密

    RSA加密算法是一种非对称加密算法.在公开密钥加密和电子商业中RSA被广泛使用.RSA是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Le ...

  3. Kubernetes DaemonSet(部署守护进程)

    Kubernetes DaemonSet(部署守护进程) • 在每一个Node上运行一个Pod• 新加入的Node也同样会自动运行一个Pod 应用场景:Agent 官方文档:https://kuber ...

  4. 01_python基础(一)

    python学习笔记,打算用五章介绍完python基础语法及基本用法. 开发环境: python3.7    推荐:  https://github.com/jackfrued/Python-100- ...

  5. 解决maven项目中web.xml is missing and <failOnMissingWebXml> is set to true

    web.xml is missing and <failOnMissingWebXml> is set to true 是因为项目中没有web.xml文件, 步骤如下:

  6. SpringBoot结合策略模式实战套路

    1. SpringBoot结合策略模式实战套路 1.1. 前言 我们都知道设计模式好,可以让我们的代码更具可读性,扩展性,易于维护,但大部分程序猿一开始都学过至少一遍设计模式吧,实战中不知用到了几成. ...

  7. Chrome Dev tools的几点小技巧

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  8. SPC软控件提供商NWA的产品在各行业的应用(生命科学行业)

    在上一篇文章中,我们提到了NWA软件产品在各行业都有广泛的应用,并且就化工行业的应用展开了详细介绍.而在本文中,您将看到NWA产品在生命科学行业也扮演着不可替代的角色. Northwest Analy ...

  9. Shell脚本(2)

    命令替换: Shell脚本可以从命令输出中提取信息,并将其赋给变量 方法: 1.反引号字符:` 2.格式:$() 例子:#/bin/bash test=$(date) echo "the d ...

  10. android内存管理-ION/PMEM【转】

    转自:https://www.jianshu.com/p/0eac3d3ff6bb ION debug ION 在/sys/kernel/debug/ion/ 提供一个debugfs 接口. 每个he ...