0、查看python的版本
UOS系统本身自带python,无需另外安装。在终端直接运行python -V和Python3 -V可以查看版本,注意V是大写。
如果是windows系统,可以参考菜鸟教程的教程 《Python环境搭建》。
henryuos@henryuos:~$ python -V
Python 2.7.16
henryuos@henryuos:~$ python3 -V
Python 3.7.3
一、pip和pip3的区别
pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。目前如果你在 python.org 下载最新版本的安装包,则是已经自带了该工具。【引用自非常好的自学网站-菜鸟教程《Python pip 安装与使用》】
这个是python2和python3的包安装管理工具,区别参考:《Python:pip 和pip3的区别》
Henry一句话总结:分别安装到不同的目录,如果只安装了一个python版本,就一样。【可能有误2022.1.6,欢迎执指正】
二、安装python包
系统是UOS(家庭版21.1.1),内置安装了python2和python3
在pycharm里安装python包,在terminal里输入代码(terminal概念参考《命令行相关概念梳理(CLI、Terminal、Shell、脚本)》)
//因为我已经安装了,这里提示以及存在
pip install pygame
Requirement already satisfied: pygame in ./venv/lib/python3.7/site-packages (2.1.2)
//列出以及安装的python包
pip list
Package Version
---------- -------
pip 21.3.1
pygame 2.1.2
setuptools 59.4.0
//pip3的list和pip是一样的:
pip3 list
Package Version
---------- -------
pip 21.3.1
pygame 2.1.2
setuptools 59.4.0
//查看已经安装的包的信息
pip show pygame
Name: pygame
Version: 2.1.2
Summary: Python Game Development
Home-page: https://www.pygame.org
Author: A community project.
Author-email: pygame@pygame.org
License: LGPL
Location: /home/henryuos/PycharmProjects/pythonProject/venv/lib/python3.7/site-packages
Requires:
Required-by:
三、python开发桌面程序的tkinter包
安装tkinter,这个需要在系统终端安装成功。根据IDE使用的python版本来安装对应的tinker。
参考链接:
《安装tkinter模块_详解python tkinter模块安装过程》
一个Python GUI代码:参考网友写的《GUI桌面项目 》,可以直接复制尝试一下。
//系统级别查找安装包,用search命令
sudo apt search python3-tk
//ide中使用python2的用这个命令,我安装之后,在ide中仍然提示无法导入tkinter,然后用了下面的命令
sudo apt-get install python-tk
//ide中使用python3的用这个命令,不然运行上面的命令也引用不到
sudo apt-get install python3-tk
sudo apt search python3-tk
请输入密码:
验证成功
正在排序... 完成
全文搜索... 完成
python3-tk/未知 3.7.3-1 amd64
Tkinter - Writing Tk applications with Python 3.x
python3-tk-dbg/未知 3.7.3-1 amd64
Tkinter - Writing Tk applications with Python 3.x (debug extension)
python3-tksnack/未知,未知 2.2.10.20090623-dfsg-8 all
Sound extension to Tcl/Tk and Python/Tkinter - Python 3.x library
python3-tktreectrl/未知,未知 2.0.2-1 all
Tkinter-based wrapper for Tk TreeCtrl for Python 3
sudo apt-get install python3-tk
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
==========省略很多==========
qtermwidget5-data squashfs-tools totem totem-common totem-plugins vlc-bin xinit
=============省略很多=========
使用'sudo apt autoremove'来卸载它(它们)。
建议安装:
tix python3-tk-dbg
下列【新】软件包将被安装:
python3-tk
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 9 个软件包未被升级。
需要下载 97.4 kB 的归档。
解压缩后会消耗 462 kB 的额外空间。
获取:1 https://home-packages.chinauos.com/home plum/main amd64 python3-tk amd64 3.7.3-1 [97.4 kB]
已下载 97.4 kB,耗时 1秒 (179 kB/s)
正在选中未选择的软件包 python3-tk:amd64。
(正在读取数据库 ... 系统当前共安装有 267886 个文件和目录。)
准备解压 .../python3-tk_3.7.3-1_amd64.deb ...
正在解压 python3-tk:amd64 (3.7.3-1) ...
正在设置 python3-tk:amd64 (3.7.3-1) ...
四、运行python的方式
这部分内容我在测试的时候,前两个方式(终端命令行和终端进入python交互模式),有一些不好懂的知识。先不去深究这两个方式,因为学习的时候主要在IDE中(集成开发环境,IDE,Integrated Development Environment)。IDE不仅仅是编辑工具。
比如有个py文件
print("使用print()输出一句话")
终端命令行
下面是uos下,直接python+空格+express路径,express加引号或不加都可以
//python express,express加引号或不加都可以
henryuos@henryuos:~$ python '/home/henryuos/Desktop/pyTest/fireworks.py'
File "/home/henryuos/Desktop/pyTest/fireworks.py", line 1
SyntaxError: Non-ASCII character '\xe4' in file /home/henryuos/Desktop/pyTest/fireworks.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
//上面的情况,在py文件第一句中加入
# coding:utf-8,参考《怎么解决python "Non-ASCII character"错误》
henryuos@henryuos:~/PycharmProjects/pythonProject/venv/bin$ python /home/henryuos/Desktop/pyTest/fireworks.py
使用print()输出一句话
如果是在windows下的CMD窗口,路径会加上盘符:
windows的cmd窗口中
python D:\ceshi.py
终端进入Python的交互模式
//系统终端中输入python进入python的交互模式,
//只能写python的代码,
//或者运行.py文件【exec(open().read()】,参考《exec和execfile》
//或者import
//写python的语句,
>>> 1+2
3
//或者运行.py文件【exec(open().read()】
henryuos@henryuos:~$ python
Python 2.7.16 (default, Feb 26 2021, 06:12:30)
[GCC 8.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exec(open('/home/henryuos/Desktop/pyTest/fireworks.py').read())
使用print()输出一句话
//切换到脚本目录下,用import引入,不能带.py,再次引用就没有“使用print()输出一句话”这个了。
//切换路径参考《Python在命令行如何切换目录》
>>> import os
>>> os.chdir('/home/henryuos/Desktop/pyTest/')
>>> import fireworks
使用print()输出一句话
>>> import fireworks
>>>
或者切换到目录后,直接输入文件名,参考《在python交互模式中怎么运行py文件? - 黎华的回答 - 知乎》
>>> fireworks
<module 'fireworks' from 'fireworks.pyc'>
交互式窗口,退出用exit(),即可退回到终端状态
IDE集成开发环境
目前只测试了pycharm(community版本)。最下面有terminal和python console窗口,对应的是系统终端和python交互模式。参考图片在《Pycharm中的Python Console与Terminal》。
但是,pycharm的terminal里面直接是下面代码开头
“(venv) henryuos@henryuos:~/PycharmProjects/pythonProject$”,
可以使用pip等命令。系统的终端不能用pip,切换到对应目录也不行(见下面代码块)。看到网上有提到“环境变量路径Path”在java等编程环境安装教程中看到,可能与此有关。再者,看到命令行是搜索当前目录,charm是项目目录。参考《python导入模块报错“ImportError: No module namedXXX”》(可能和这里不是一回事)或者《在python交互模式中怎么运行py文件? – 黎华的回答 – 知乎》中提到设置环境变量,有兴趣可以去学习一下。
安装Pycharm,参考菜鸟教程《Python环境搭建》。
henryuos@henryuos:~$ pip install pygame
bash: pip:未找到命令
henryuos@henryuos:~$ cd ~/PycharmProjects/pythonProject
henryuos@henryuos:~/PycharmProjects/pythonProject$ pip show pygame
bash: pip:未找到命令
henryuos@henryuos:~/PycharmProjects/pythonProject$ pip list
bash: pip:未找到命令
henryuos@henryuos:~/PycharmProjects/pythonProject$ pip
bash: pip:未找到命令