Ronan Blog

罗华东的博客 | 向前每多走一步,热爱和勇气就会多一分。

「Python」模块和包

2024-09-02 3 min read Docs Ronan

Python 提供了强大的模块支持,主要体现在,不仅 Python 标准库中包含了大量的模块(称为标准模块),还有大量的第三方模块,开发者自己也可以开发自定义模块。通过这些强大的模块可以极大地提高开发者的开发效率。

那么,模块到底指的是什么呢?Python 模块(Module),是一个 Python 文件,以 .py 结尾,也就是 Python 程序的后缀名。 模块能定义函数,类和变量,模块里也能包含可执行的代码。用作模块的程序与其他的程序并没有什么区别。

模块的作用: python中有很多各种不同的模块, 每一个模块都可以帮助我们快速的实现一些功能, 比如实现与数学相关的功能就可以使用 math 模块,我们可以这样理解,每个变量,函数,类都是一个工具,而模块则是一个工具箱,里面可以放很多工具。当我们想要使用某个工具的时候,我们不需要现场制造(写新的代码),只需要拿出来含有相对应工具的工具箱即可(导入相对应的模块)。

1. 模块的导入方式

在 Python 中,模块使用前需要先导入,导入语法如下:

# 将整个模块导入
import 模块名
# 将整个模块导入,并且在程序中用别名代替模块名
import 模块名 as 别名
# 导入模块名中的某个类,变量,方法
from 模块名 import变量方法等
# 导入整个模块
from 模块名 import *
# 导入模块的某个功能,并用别名替代功能名
from 模块名 import 功能名 as 别名

注意:import 模块名/import 模块名 as 别名from 模块名 import * 使用区别的。使用 import 的导入模块,在使用模块中的功能时,必须以模块名.功能名的形式调用。

使用 as 别名 来导入时,给模块重新命名一个名字,可能是因为防止名称重复,也可能是为了方便书写。

以导入并使用 math 模块为例:

# 使用 import 语句导入 math 模块
import math

# 使用 math 模块中的π的值,
print(math.pi)
# 使用 math 函数中的 三角函数
print(math.sin(math.pi / 2))


# 使用 mport 模块名 as 别名,导入 math 模块
import math as m

print(m.pi)
print(m.sin(m.pi / 2))


# 使用 from 模块名 import * 导入 math 模块
from math import *

print(pi)
print(sin(pi / 2))


# 使用 from 模块名 import 类,变量,方法等
from math import pi, sin

print(pi)
print(sin(pi / 2))

# 使用 from 模块名 import 功能名 as 别名
from math import pi as pai
from math import sin as sine

print(pai)
print(sine(pai / 2))

2. 自定义模块

Python 中已经帮我们实现了很多模块,但是有些时候,我们还需要一些个性化的模块,这时就可以通过自定义模块实现。

Continue reading

「python」Conda虚拟环境

2024-09-02 2 min read Docs Ronan

安装conda

# macOS 安装 miniconda ,在终端输入以下命令
brew install miniconda

创建一个新的虚拟环境

可以使用以下命令创建一个名为 jupyter_env 的新环境,并指定 Python 版本(例如 Python 3.11)

conda create -n jupyter_env python=3.11

通过上面命令创建的虚拟环境通常会保存在主环境目录,如果想指定虚拟环境的位置,可以使用下面的命令

指定路径:如果你在创建环境时使用了 -p--prefix 选项指定路径,环境会存储在你指定的位置。

conda create -p /my/custom/path/env_name python=3.11

激活环境与退出环境

激活新创建的名为 jupyter_env 的环境:

conda activate jupyter_env

退出已激活环境:

conda deactivate

列出所有虚拟环境

首先,你可以列出所有已创建的虚拟环境(以下命令二选一):

conda env list
conda info --envs

这会显示所有环境的名称和路径。


删除虚拟环境

  • 删除指定名称的虚拟环境:
conda remove --name ENV_NAME --all

其中 ENV_NAME 是你要删除的环境的名称,--all 选项表示删除整个环境及其所有包和依赖项。

  • 删除指定路径的虚拟环境

如果你是通过指定路径创建的环境,可以使用路径来删除:

Continue reading

「python」一个快速生成requirements.txt的库

2024-09-02 1 min read Docs Ronan

为什么选择 pipreqs

虽然 Python 提供了 pip freeze > requirements.txt 这样的命令生成 requirements.txt,但它有一个致命缺陷:它会把你当前环境中安装的所有库都写进去,而不仅仅是你项目实际用到的库。结果就是,一个原本只需要几个依赖的小项目,可能会生成一个长长的requirements.txt,这不仅冗余,还可能导致依赖冲突。

pipreqs 则聪明得多!它会扫描你的项目代码,只把实际用到的库和版本写进 requirements.txt,简洁又精准。

安装pipreqs

pip install pipreqs

如何使用pipreqs?

进入到需要生成 requirements.txt 的工程目录下,假设工程在/path/project,然后输入以下命令:

pipreqs /path/project

或者直接进入到该工程目录下,然后运行 pipreqs

pipreqs .
Older posts Newer posts