linux-部署1
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/virtualenv3.运行使生效:
source ~/.bashrc
4.创建python虚拟环境mkvirtualenv [虚拟环境名称]
workon [虚拟环境名称]
3.退出虚拟环境 离开 deactivate4.rmvirtualenv [虚拟环境名称]
虚拟环境用的哪个python版本与设置的优先级有关,使用优先级高的
3.导入requirements
先生成requirements.txt文件
pip freeze > requirements.txt
安装requirements.txt依赖
pip install -r requirements.txt
对于迁移的项目:
以包的形式
先执行其中的requirements.txt,安装好需要的模块
linux-部署1的更多相关文章
- ASP.NET Linux部署(2) - MS Owin + WebApi + Mono + Jexus
ASP.NET Linux部署(2) - MS Owin + WebApi + Mono + Jexus 本文承接我的上一篇博文: ASP.NET 5 Linux部署,那篇文章主要是针对最新的ASP. ...
- Linux 部署ASP.NET SQLite 应用 的坎坷之旅 附demo及源码
Linux 部署ASP.NET SQLite 应用 的坎坷之旅.文章底部 附示例代码. 有一台闲置的Linux VPS,尝试着部署一下.NET 程序,结果就踏上了坑之路,不过最后算是完美解决问题,遂记 ...
- Linux部署ASP.NET 5 (vNext)
原文:Linux部署ASP.NET 5 (vNext) ASP.NET 5 (vNext) Linux部署 引言 工欲善其事,必先利其器. 首先,我们先明确下以下基本概念 Linux相关 Ubun ...
- Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包
Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>& ...
- Linux部署与基本指令
把以前写的linux发布一下下吧,写的真的好差劲... Linux部署 chmod:改变一个文件的权限 改变abc的权限为777 常用的权限: 777-644-755 ************** ...
- NetCore1.1+Linux部署初体验
1.环境准备 Centaos7+Win10 虚拟机 Win10安装VS2017 https://www.asp.net/downloads注意勾选下.Net Core 3.Centaos安装netco ...
- linux部署服务器遇到tomcat already start
linux部署服务器遇到tomcat already start 前言,之前做了个汽车停车计费的后端,然后现在需要部署到服务器.正常部署,使用secureFx找到所属webapps目录,将文件上传.然 ...
- SpringBoot进阶教程(二十三)Linux部署Quartz
在之前的一篇文章中<SpringBoot(九)定时任务Schedule>,已经详细介绍了关于schedule框架的配置和使用,有收到一些朋友关于部署的私信,所以抽时间整理一个linux部署 ...
- 【Docker】(3)---linux部署Docker、Docker常用命令
linux部署Docker.Docker常用命令 本次部署Linux版本:CentOS 7.4 64位. 说明: 因为Docker是基于Linux 64bit的 所以Docker要求64位的系统且内核 ...
- Linux部署笔记分享
# Linux部署 ## 安装lrzsz1. 安装lrzsz: yum -y install lrzsz2. 进入tmp目录3. rz 上传安装文件 jdk-8u65-linux-x64.tar.gz ...
随机推荐
- flutter,SliverPersistentHeader实现Tab顶部吸附固定效果
直接上代码啦 import 'package:flutter/material.dart'; class StickyDemo extends StatefulWidget { @override _ ...
- 集成Azure DevOps Server(TFS) 与微软Teams
1.概述 Microsoft Teams是Office 365中团队协作的中心.将团队的所有聊天.会议.文件和应用程序放在一个位置.软件开发团队可以在一个专门的协作中心中即时访问他们所需的所有内容,T ...
- antdmobile组件思维导图
- 通过requirements.txt文件创建虚拟环境副本
1.首先在原来的环境中生成一个需求文件requirements.txt,用于记录所有依赖包及其精确的版本号. (venv) $ pip freeze >requirements.txt 2.创建 ...
- 【前端知识体系-JS相关】深入理解JavaScript异步和单线程
1. 为什么JavaScript是单线程? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事.那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊. Jav ...
- Python 文件readlines()方法
原文连接:https://www.runoob.com/python/file-readlines.html readlines()方法用于读取所有行(直到结束符EOF)并返回列表,该列表可以由pyt ...
- Theano 报错:No suitable SharedVariable constructor could be found. Are you sure all kwargs are supported? We do not support the parameter dtype or type
当Theano报错:No suitable SharedVariable constructor could be found. Are you sure all kwargs are support ...
- 面试官:说说Mysql数据库分库分表,并且会有哪些问题?
之前一篇文章已经谈到了数据库集群之主从集群也就是读写分离,也提到了读写分离其实只是分担了访问的压力,但是存储的压力没有解决. 存储的压力说白了就是随着系统的演化,需求的增加,可能表的数量会逐渐增多,比 ...
- mysql-5.7.23-winx64 解压版详细安装教程
1.下载解压版: 2.配置环境变量 (1)新建MYSQL_HOME变量,并配置值为: C:\softwaretool\mysql-5.7.23-winx64 计算机→属性→高级系统设置→高级→环境变量 ...
- NoSql之Redis系列(.Net Core)
一. 简介 1. 什么是Redis? 全称“Remote Dictionary Server”,基于内存管理数据,它有多种数据结构(常用的5种),分别应对不同场景:它是单线程模型的,所以不会存在并发问 ...