python-3-python多版本和pycharm和Thonny的应用设置

Centos7中升级python3.10.4版本

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,得到以下窗口:
在这里插入图片描述
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。

将看到底部出现测试窗口,所有测试均失败:
在这里插入图片描述
注意,左侧是测试结果的层次结构,右侧是终端的输出。
现在,将代码更改成以下代码,实现 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)

3.4 pycharm配置远程服务器解释器

注意: 只有pycharm专业版才可以配置远程服务器,社区版不可以。通过官网下载最新版的PyCharm,下载好之后双击进行安装,步骤比较简单。直接下一步就行。专业版的PyCharm,如果钱包不允许的话需要使用Active码。
获取PyCharm最新Active码

确保服务器SSH服务打开
service sshd start
service sshd status
确保服务器上要使用的Python解释器。
点击【file】-【Settings】-【Project-Python Interpreter】-【add】
点击【SSH Interpreter】填写远程服务器的ip和用户名,点击【Next】
填写远程服务器登陆密码,点击【Next】
在这里插入图片描述

Successfully connected to ubuntu@127.0.0.1:20022

> pwd
/home/ubuntu
Command finished with exit code 0
Rsync command 'rsync' was not found neither in local PATH nor as full executable path
Starting introspection for Python...
> echo ${SHELL}
/bin/bash
Command finished with exit code 0
> /usr/bin/which python3
/usr/bin/python3
Command finished with exit code 0
> echo ${HOME}
Failed to execute command

Introspection completed with error. server_input_channel_req: unknown channel 0

配置解释器和项目目录,解释器就是服务器上的python路径。
在这里插入图片描述
同步文件夹的路径选择。
本地路径就是你当前项目的根目录,远程路径就是你服务器上项目的根目录。如果你填写了一个服务器上没有的目录,会自动创建,不用登陆服务器手动创建了。

如果之后想更换目录也可以修改,如下图所示,点击【Tools】-【Deployment】-【Configuration】
在这里插入图片描述

3.5 解决持续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解释器的环境变量)。
在这里插入图片描述
只要包含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会变得很快。

4 Thonny面向初学者的Python IDE

一个专为Python初学者打造的集成开发环境(IDE):Thonny
Thonny的GitHub地址
Thonny是一个专为初学者设计的Python集成开发环境(IDE)。Thonny 由爱沙尼亚的 Tartu 大学开发,它采用了不同的方法,因为它的调试器是专为学习和教学编程而设计的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮皮冰燃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值