建议:
不管是win10系统还是Ubuntu系统,
如要使用python, 直接在Ubuntu上安装miniconda,
创建conda环境进行使用
(该方案是最简洁, 最安全, 最完美的python运行环境创建思路)

  • 安装Ubuntu之后, 不要管系统自带的Python,因为版本很难控制
  • 直接下载安装anconda ​​wget https://repo.continuum.io/archive/Anaconda3-2018.12-Linux-x86_64.sh​
  • 安装好后配置更新conda下载源和pip更新到最新, 然后在创建环境 ,或者使用默认的conda用户
  • 此时此刻系统里面的Python理论上就都是conda的了
  • 然后创建python环境开始使用, 在强调一哈不建议更改本地python和conda自带python
  • 不建议更改本地python和conda自带python
  • 不建议更改本地python和conda自带python
  • 不建议更改本地python和conda自带python

2020/11/17更新:
今日因为挂V7N, 直接导致网络出错, 在创建conda环境时出错, 然后按照网上的逻辑删除了​​​~/.condarc​​​, 导致整个conda崩盘, 只得重新安装
​​​这是一个安装miniconda的教程里面写的很清楚一些细节​

文章目录

  • ​​一. conda​​
  • ​​1.1 介绍conda​​
  • ​​1.2 conda下载安装, 下面命令建议全部执行​​
  • ​​1.3 conda使用​​
  • ​​1.4 创建环境出现的问题​​
  • ​​二. 系统自带的Python, 不建议使用​​
  • ​​2.1 下载安装 修改下载源​​
  • ​​2.2 pip和pip3的区别​​
  • ​​2.3 设置Ubuntu默认启动为python3​​
  • ​​三. pycharm​​
  • ​​3.0 pycharm 专业版2021​​
  • ​​3.1 pycharm python编译器下载安装​​
  • ​​3.2 建立软链接,pycharm安装​​
  • ​​3.4 win10安装pycharm教育版使用子系统Ubuntu的conda的环境​​
  • ​​a. 去pycharm官网注册教育版​​
  • ​​b. 在选择环境的时候, 选择Ubuntu中conda环境也很简单​​
  • ​​c. 利用pycharm的好处就是​​
  • ​​d. pycharm链接远程服务器 ssh-SFTP​​
  • ​​pycharm 开始一个terminal连接ssh​​
  • ​​pycharm添加ssh​​
  • ​​pycharm连接ssh​​
  • ​​创建项目​​
  • ​​四. anconda与本地python冲突解决​​
  • ​​五. `jupyter notebook`​​
  • ​​5.1 jupyter在conda环境中使用​​
  • ​​5.2 jupyter登录密码设置​​
  • ​​5.3 jupyter常用快捷键​​
  • ​​六. 老Ubuntu安装Python3.6​​
  • ​​七. python包管理​​
  • ​​问题汇总​​
  • ​​a. jupyter无法补全​​


本文主要从两个方面介绍python

conda和python图示

Ubuntu维护7 conda环境全解_python_jupyter_python

一. conda

1.1 介绍conda

  • conda是一个python版本和环境的管理工具
  • 可以通过conda创建全新的python环境, 而新创建的python环境里面的python版本和包与外面的没有任何冲突

1.2 conda下载安装, 下面命令建议全部执行


第一部分是安装完全版conda, 软件较大,雍容华贵

建议使用第二种方法安装mini版本的conda

wget https://repo.continuum.io/archive/Anaconda3-2018.12-Linux-x86_64.sh
chmod 777 anaconda*.sh # 转化为可执行文件
sudo ./anaconda*.sh # 安装 注意注意 这里第一个yes之后就不要轻易按回车
Do you wish the installer to initialize Anaconda3
in your /home/user1/.bashrc ? [yes|no]
[no] >>> yes
# 注意::注意
# 这里千万别多按回车,因为下面会问到是否安装到本地环境变量, 如果按了回车默认是不加入本地变量,就会很尴尬 ,
# 另外注意这里既是添加到了本地环境变量, 依然需要执行以下source ~/.bashrc, 只有执行了这系统才能识别conda
Do you wish to proceed with the installation of Microsoft VSCode? [yes|no]
>>> no
# 到这里就已经安装完毕,
# 但是此时使用 conda还没有效果, 为何呢, 因为虽然安装了也将conda的环境变量加入到了系统中,但是系统环境变量还没有生效; 因此需要运行下面命令才能生效
source ~/.bashrc

# 如果在安装过程中没有选择直接加入环境变量,请将下面命令运行一下
echo 'export PATH="/home/user01/anaconda/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

# 设置conda下载源, 这样在新建用户时会降低出错概率
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ # 这是清华大学下载源
conda config --set show_channel_urls yes # 设置搜索显示地址

# 更新pip
pip install --upgrade pip # 如果这个报错就执行下面到命令
pip install --upgrade pip --user

# 设置pip默认下载源
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
# 也可以每次单独pip下载包的时候制定下载源
pip install numpy==1.14.0 -i https://mirrors.aliyun.com/pypi/simple/

第二部分是安装迷你版conda, 软件100M,较小, 还年轻

wget -c https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
chmod 777 Miniconda3-latest-Linux-x86_64.sh #给执行权限
./Miniconda3-l*
yes # 确定安装条例
yes # 确定将conda加入到系统
source ~/.bashrc # 激活

# 下面四条是下载源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --set show_channel_urls yes # 显示路径
conda config --get channels # 查看通道
cat ~/.condarc #查看 添加的路径保存位置

1.3 conda使用

# conda环境的一些操作
conda create -n mypy python=3.6 # 创建名字为mypy的环境
conda env list # 显示环境列表
source activate mypy # 进入环境
source deactivate #退出环境
conda create -n mypy_new --clone mypy # 克隆mypy环境
conda env export > freeze.yml # 打包mypy环境
conda create -n mypy -f freeze.yml
conda remove -n mypy --all # 删除mypy环境

1.4 创建环境出现的问题

先自查网络

  • 移除​​mv ~/.condarc ~/.condarc_old​
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --set show_channel_urls yes # 显示路径
conda config --get channels # 查看通道

此时新生成​​~/.condarc​​​​conda install jupyter​​ 还是会出错
那就在试试​​conda install -c conda-forge jupyter​

二. 系统自带的Python, 不建议使用

2.1 下载安装 修改下载源

sudo apt install python3-pip  # 安装python3
pip3 install pip # Python3自带pip3, 安装pip
-i https://pypi.tuna.tsinghua.edu.cn/simple # 可以在pip后面加入用于修改下载源
sudo apt install python-pip # 安装pip

# 修改下载源永久使用
pip install pip -U
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

# 其他源
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/

2.2 pip和pip3的区别

​​转自pip中pip和pip3的区别​​

  • pip是python的包管理工具,pip和pip3版本不同,都位于Scripts\目录下:
  • 如果系统中只安装了Python2,那么就只能使用pip。
  • 如果系统中只安装了Python3,那么既可以使用pip也可以使用pip3,二者是等价的。
  • 如果系统中同时安装了Python2和Python3,则pip默认给Python2用,pip3指定给Python3用。
  • 重要:虚拟环境中,若只存在一个python版本,可以认为在用系统中pip和pip3命令都是相同的

2.3 设置Ubuntu默认启动为python3

zjq@zjq:~$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
[sudo] zjq 的密码:
update-alternatives: 使用 /usr/bin/python3 来在自动模式中提供 /usr/bin/python (python)

​update-alternatives介绍​​​ update-alternatives 可以创建、删除、修复、软连接,还能显示出已存在软连接的信息,而所有的这些就构成了备选方案系统(alternatives system)。
update-alternatives是用来维护系统命令的符号链接,以决定系统默认使用什么命令,可以设置系统默认加载的首选程序
比如我系统已安装有java 1.6,还想要安装java 1.7,但我不想卸载java 1.6。就可以通过update-alternatives --config在多个java版本间进程切换。update-alternatives是用于在多个同类型命令中进行切换的一个命令。

三. pycharm

3.0 pycharm 专业版2021

官网下载安装后, 将下面的给jar文件拖到pycharm主页面中即可

​​无限循环试用30天工具包​​

Ubuntu维护7 conda环境全解_python_jupyter_jupyter_02


Ubuntu维护7 conda环境全解_python_jupyter_ubuntu_03


至此就可以无限使用了

3.1 pycharm python编译器下载安装

​社区版本下载链接​​ 左侧黑色Download社区版本, 不需要激活可以直接使用

Ubuntu维护7 conda环境全解_python_jupyter_jupyter_04


下载完成后是压缩包, 解压到​​~​​目录下

​$ tar -zvxf pycharm-community-2020.1.tar.gz -C ~​

​mv pycharm pyc ​​ #这是为了下次使用方便

​$ sh ~/pyc/bin/pycharm.sh​​ # 打开软件pycharm

可以使用本地的Python, 打开工程

file->setting->选择本地工程

打开工程,设置conda路径和, 选择RGIN用户

Ubuntu维护7 conda环境全解_python_jupyter_python_05

Ubuntu维护7 conda环境全解_python_jupyter_python_06

3.2 建立软链接,pycharm安装

比如我的pycharm每次需要使用命令打开

zjq@zjq:~$ sh ~/pyc/bin/pycharm.sh

因为懒所以投机取巧, 建立如下软连接
注意一定是从~…pycharm建立到----> /usr…pycharm
​​​zjq@zjq:~$ sudo ln -s ~/pyc/bin/pycharm.sh /usr/bin/pycharm​​​ 上面的命令含义是:
在​​ /usr/bin/pycharm​​目录建立新的pycharm快捷打开方式
以后如果需要运行pycharm, 只需要在命令行输入
​pycharm.sh​​即可直接打开pycharm软件

*需要注意的是: *

  • ​/usr/bin/​​目录下存放的都是可执行文件, 将能sh, 二进制文件放入该目录下, 全局都可以进行执行而不需要定位
  • ln -s创建的软链接, 如果想要删除, 可以找到软连接进行删除,
    如这个软链接删除​​​sudo rm /usr/bin/pycharm​

3.4 win10安装pycharm教育版使用子系统Ubuntu的conda的环境

a. 去pycharm官网注册教育版

这里需要用到学校的邮箱, 千万不要想一群土B, 利用码工具到99年, 随便跟你身边的一个还在上学的小兄弟借一个账号也行呀;
直接按照官网提示下载安装登录学校邮箱进行验证即可

b. 在选择环境的时候, 选择Ubuntu中conda环境也很简单

Ubuntu维护7 conda环境全解_python_jupyter_python_07

c. 利用pycharm的好处就是

能够debug, 能看每一步的每个人变量的内容, 格式

d. pycharm链接远程服务器 ssh-SFTP

pycharm 开始一个terminal连接ssh

Ubuntu维护7 conda环境全解_python_jupyter_下载安装_08

pycharm添加ssh

Ubuntu维护7 conda环境全解_python_jupyter_jupyter_09

pycharm连接ssh

Ubuntu维护7 conda环境全解_python_jupyter_jupyter_10

创建项目

Ubuntu维护7 conda环境全解_python_jupyter_ubuntu_11

四. anconda与本地python冲突解决

  • 注意: 不建议使用本地python, 建议安装完Ubuntu后首先安装anconda, 然后默认系统就是conda环境了

Python3变为anaconda中的Python的原因:安装anaconda之后里面的Python3加入到环境变量中覆盖了原来的Python3版本
使用别名声明alias 命令来改变
下面的命令是将本地python连接为python, 这样在命令行python就会运行本地python, 这里下次启动会失效, 因此可以将下面命令保存到​​​~/.bashrc​​​​alias python="/usr/bin/python3.6"​

alias conda的python可以运行下面命令

zjq@DESKTOP-O28RVV3:~$ whereis conda
conda: /home/zjq/anaconda3/bin/conda
alias python4=“anaconda安装目录的bin”

亲测:
我利用​​​alias python="/usr/bin/python3.6"​​将本地python使用python来打开, 然后conda的python默认, 即python3打开conda的python,

pip的问题
python -m pip --version # 显示本地python包版本
python3 -m pip --version # 显示condapython包版本

五. jupyter notebook

  • 安装 ​​pip install jupyter​

5.1 jupyter在conda环境中使用

  • 安装ipykernel ​​conda install ipykernel​
  • 进入对应环境 ​​conda activate scan​
  • 在kernel中插入环境scan
    ​​​python -m ipykernel install --user --name scan --display-name "在kernel中显示的名称"​
  • 运行jupyter ​​jupyter notebook​​​或者​​jupyter-notebook​
  • 结果如下图所示

Ubuntu维护7 conda环境全解_python_jupyter_ubuntu_12

5.2 jupyter登录密码设置

  • method1 在配置文件中设置
jupyter notebook --generate-config   # 生成配置文件

vim /home/xibeiidaxue/.jupyter/jupyter_notebook_config.py
c.NotebookApp.token = '' # 设置为空表示登陆不需要密码
c.NotebookApp.ip='*' # 设置所有IP都可以访问
c.NotebookApp.password = "" # 密码
c.NotebookApp.allow_root = True # 允许根用户

jupyter notebook --port 8888 # 运行特定端口8888端口
  • method2 直接设置
jupyter notebook --generate-config   # 生成配置文件
jupyter notebook password
# 输入两次密码

5.3 jupyter常用快捷键

Cell命令模式目前支持的Jupyter Notebook快捷
Enter : 转入编辑模式
Shift-Enter : 运行本单元,选中或插入(最后一个Cell的时候)下个单元
Ctrl-Enter : 运行本单元
Alt-Enter : 运行本单元,在其下插入新单元
Y : 单元转入代码状态
M :单元转入markdown状态 (目前尚不支持R 原生状态)
Up : 选中上方单元
K : 选中上方单元
Down : 选中下方单元
J : 选中下方单元
A : 在上方插入新单元
B : 在下方插入新单元
D,D : 删除选中的单元
L : 转换行号
Shift-Space : 向上滚动
Space : 向下滚动

Ctrl + X :剪切/剪切行(空选定)
Ctrl + C : 复制/复制行(空选定)
Ctrl + Delete / Backspace :删除右边、左边的字
Alt + ↑ / ↓ :向上/向下移动行
Shift + Alt + ↓ / ↑ : 向上/向下复制行
Ctrl + Shift + K : 删除行
Ctrl + Shift + \ : 跳到匹配的括号
Ctrl + ] / [ : 缩进/突出行
Ctrl + ← / → : 光标到字首/字尾
Ctrl + / : 切换行注释
Shift + Alt + A : 切换块注释
Ctrl + H : 查找/替换

Ctrl + D : 选择一个/多个(相同)词
Alt + 单击 : 插入多个光标
Ctrl + Alt + ↑ / ↓ : 在上/下插入光标
Ctrl + U : 撤消上一个光标操作
Shift + Alt + I : 在选定的每一行的末尾插入光标
Ctrl + L : 选择当前行
Ctrl + Shift + L : 选择当前词的所有出现
Ctrl + F2 :选择当前字的所有出现
Shift + Alt + → / Shift + Alt + ←: 展开/缩小选择
Shift + Alt + (拖动鼠标) : 矩形块选择
Ctrl + K Ctrl + X : 修剪尾随空格

六. 老Ubuntu安装Python3.6

# 官网下载安装包
1. wget http://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz

# 解压
2. tar -xvzf Python-3.6.4.tgz

# 安装
3. cd Python-3.6.4
4. ./configure --with-ssl

# 编译
5. sudo make
6. sudo make install

# 创建软连接,先查看python3.6.4的安装路径
7. which python3 # /usr/local/bin/python3
8. sudo ln -s /usr/local/bin/python3 python

七. python包管理

问题描述
我们经常在一个机子上配置好环境后, 还需要去另一个机子上重新配置python环境,这样就需要每次莫名其妙的出现一些python包版本错误的问题, 为此, 可以使用下面的命令, 将当前环境中, python用到的包和版本读取到文件中,然后在通过一条命令直接插入到另一个机子的环境中, 实现两个机子中python环境的包版本统一

# 先将包版本重定义到requirement.txt中
pip freeze > requirements.txt
# 在在另一个环境中, 安装这些包
其中-r是从给定的版本中安装
pip install -r requirements.txt

问题汇总

a. jupyter无法补全

jedi版本问题
​​​pip install jedi==0.17​