1 centos7中升级到python3.10.4版本

(1)下载安装包
wget https://www.python.org/ftp/python/3.10.8/Python-3.10.8.tgz
(2)解压
tar -zxvf Python-3.10.8.tgz
cd Python-3.10.8/
(3)编译安装
./configure --prefix=/usr/local
make
make install
whereis python
ls -al /usr/bin | grep python
(4)多版本切换
update-alternatives --install /usr/bin/python python /usr/local/bin/python3.10 300
update-alternatives --config python

2 linux中切换python版本

(1)查看已安装的版本运行命令位置
#whereis python2
/usr/bin/python2.7

#whereis python3
/usr/local/bin/python3.6

(2)增加一组新的系统命令链接符
#update-alternatives --install /usr/bin/python python /usr/bin/python2.7 100
#update-alternatives --install /usr/bin/python python /usr/local/bin/python3.6 200
移除
#update-alternatives --remove python /usr/local/bin/python3.6
(3)显示和修改实际指向的候选命令
#update-alternatives --config python

(4)修改yum文件

#vi /usr/bin/yum
#vi /usr/libexec/urlgrabber-ext-down

修改usr/bin/python为usr/bin/python2

3 pycharm的应用设置

File->Close Project之后可以进行全局设置。

3.1 基本设置

(1)安装包
File->Settings;
Project->Project Interpreter;
选择具体解释器;
点击+号;
搜索安装。

(2)设置文件编码
File->Settings;
Editor->File Encodings;
全部设为utf-8。

(3)设置默认文件头
File->Settings;
Editor->File and Code Templates;
Python Script;
如下所示:
#! /usr/bin/env python
# -*- coding:utf-8 -*-
# author:zb
# time:${DATE}

(4)消除代码中的波浪线
鼠标悬停->More actions;
save to project-level dictionary

(5)复制删除行
ctrl+d复制一行
ctrl+y删除一行

(6)代码太长便捷换行
shift+enter

(7)快捷注释取消
ctrl+/。

(8)缩进和取消
tab缩进
shift+tab取消

(9)搜索和替换
ctrl+f搜索
ctrl+r替换

(10)折叠和展开
ctrl shift - 全部折叠
ctrl shift + 全部展开

(11)快捷查看源码
ctrl+b 跳转到源码
左侧点击Structure查看结构

(12)记录要做的事情
# TODO 记录要做的事情
左侧点击TODO查看要做的事情

(13)调试
左键加断点
右键Debug

3.2 新建py文件时添加默认信息

Pycharm使用VTL(Velocity Template Language)的语法规则来设计模板的。左上角–>(File)–>打开设置(settings)–>Editor–>File and Code Templates–>Python Script。

可用的预定义文件模板变量为:

# -*- coding: utf-8 -*-
$ {PROJECT_NAME} - 当前项目的名称。
$ {NAME} - 在文件创建过程中在“新建文件”对话框中指定的新文件的名称。
$ {USER} - 当前用户的登录名。
$ {DATE} - 当前的系统日期。
$ {TIME} - 当前系统时间。
$ {YEAR} - 今年。
$ {MONTH} - 当月。
$ {DAY} - 当月的当天。
$ {HOUR} - 目前的小时。
$ {MINUTE} - 当前分钟。
$ {PRODUCT_NAME} - 将在其中创建文件的IDE的名称。
$ {MONTH_NAME_SHORT} - 月份名称的前3个字母。 示例:1月,2月等
$ {MONTH_NAME_FULL} - 一个月的全名。 示例:1月,2月等

举例如下:

# -*- coding: utf-8 -*-
# @Time : ${DATE} ${TIME}
# @Author : zb
# @File : ${NAME}.py
# @Project : ${PROJECT_NAME}

3.3 代码测试

不经单元测试的应用都不可靠。PyCharm 可以帮助你快速舒适地写单元测试并运行。默认情况下,unittest 被用作测试运行器,而 PyCharm 还支持其他测试框架,如 pytest、nose、doctest、tox 和 trial。

例如,你可以按照以下步骤为项目选择 pytest 测试运行器:
File->Settings→Tools→Python Integrated Tools 设置对话框。
在默认测试运行器字段中选择 pytest。

本示例将使用默认测试运行器unittest。
在同一个项目中,创建文件calculator.py,并将以下Calculator类放入该文件:

class Calculator:
    def add(self,a,b):
        return a+b

    def multiply(self,a,b):
        return a * b

PyCharm使得为已有代码创建测试变得轻而易举。打开 calculator.py文件,执行以下步骤中的任意一个:

Ctrl+Shift+T。
右键单击该类的背景,选择Go To Test。
在主菜单中,选择Navigat->Test。

选择Create New Test,得到以下窗口:

升级python conda 升级python3.10_升级python conda


Target directory、Test file name 和 Test class name 这三项均保留默认设置。选中上图中两种需要测试的方法并点击 OK。

PyCharm 自动创建文件 test_calculator.py,并在其中创建了以下 stub test:

from unittest import TestCase


class TestCalculator(TestCase):
    def test_add(self):
        self.fail()

    def test_multiply(self):
        self.fail()

使用以下方法中的任意一个运行测试:

Shift+F10。
右键单击背景,选择Run Unittests for test_calculator.py。

将看到底部出现测试窗口,所有测试均失败:

升级python conda 升级python3.10_python_02


注意,左侧是测试结果的层次结构,右侧是终端的输出。

现在,将代码更改成以下代码,实现 test_add和test_multiply:

from unittest import TestCase

from calculator import Calculator

class TestCalculator(TestCase):
    def test_add(self):
        self.calculator = Calculator()
        self.assertEqual(self.calculator.add(3,4),7)

    def test_multiply(self):
        self.calculator = Calculator()
        self.assertEqual(self.calculator.multiply(3,4),12)

4 解决持续Updating Indices的问题

解决关于pycharm启动时持续Updating Indices的问题。
一、原因
pycharm在启动时会查找python相关的路径,如果你的python所处的文件夹下含有巨量的其它文件夹,那么在pycharm启动后Updating Indices个三五分钟都是小事。我们所需要做的就是将python所处的文件夹进行exclude操作。

例如使用anaconda所配置的python环境后,在pycharm中编译器直接选取anaconda文件夹下的python编译器。由于anaconda会内置许多第三方库故该文件夹下的数据量会非常巨大,pycharm启动默认读取当前路径下所有的文件索引,也就是Updating Indices,在这期间我们不能做任何程序运行以及调试。

在命令行下进入python解释器,导入sys模块,再输入sys.path我们会得到python库的所有导入路径,保留它的结果(这个得出的其实是默认python解释器的环境变量)。

升级python conda 升级python3.10_centos_03


只要包含DLLs以及Lib两个文件夹就够了。

二、解决方案

进入pycharm,依次点击File->Setting->Project->Project Structure->Add content Root。

点击进入,会弹出一个窗口让你选择文件路径,找到python解释器所在的根目录把除DLLs与Lib外的所有文件夹excluded掉(鼠标右键点击文件夹可以excluded掉)。

按照第二步将pycharm中的所有已导入的python解释器(从File->Setting->Project->Project Structure里找ProjectInterpreter里找python解释器的路径)所在路径挨个执行一次。
最后点击右下角apply,然后点击OK,然后将pycharm重启(其实也不用重启),问题应该就能解决了,之后的Updating Indices会变得很快。