Python 导入模块的3种方式

文摘   科技   2024-10-09 09:58   上海  

点击蓝字,关注山海摸鱼人

目录:

  1. 导入模块的基础知识
  2. 方式一:临时添加模块完整路径
  3. 方式二:将模块保存到指定位置
  4. 方式三:设置环境变量

在Python中,导入模块是一种非常常见的操作。通过导入模块,我们可以使用别人编写好的代码来扩展程序的功能,从而提高开发效率。

导入模块的基础知识

首先,我们需要了解几个基本概念:

接下来我们将探讨三种导入模块的方法。

示例模块准备

为了方便说明,我们先创建一个简单的示例模块mymodule.py,内容如下:

# mymodule.py
def say_hello(name):
    return f"你好,{name}!欢迎来到山海摸鱼人的世界。"

def get_current_time():
    from datetime import datetime
    return datetime.now().strftime("%Y-%m-%d %H:%M:%S")

确保这个文件已经保存到你的计算机上的某个位置。

方式一:临时添加模块完整路径

Windows 示例

假设我们的mymodule.py文件位于 C:\Users\YourName\Documents\PythonCode 文件夹下。

import sys
sys.path.append(r'C:\Users\YourName\Documents\PythonCode')  # 添加路径
import mymodule

print(mymodule.say_hello('小白'))  # 输出: 你好,小白!欢迎来到山海摸鱼人的世界。
print(mymodule.get_current_time())  # 输出当前时间
Linux 示例

如果在Linux上,且mymodule.py位于 /home/yourname/Documents/PythonCode 下:

import sys
sys.path.append('/home/yourname/Documents/PythonCode')  # 添加路径
import mymodule

print(mymodule.say_hello('小白'))  # 同上
print(mymodule.get_current_time())  # 同上

这种方式适合于临时需要引入特定位置下的模块时使用。

方式二:将模块保存到指定位置

对于用户安装的第三方库或自定义库,通常推荐将这些模块放置于特定的目录下,以便Python可以自动找到它们。这个目录通常是位于用户的AppData文件夹下的site-packages目录。具体路径会根据Python版本和你的用户名有所不同。

site-packages 的默认位置

对于 Python 3.7,如果你使用的是标准的 CPython 发行版,并且你通过 pip 安装包(例如,使用命令 pip install <package>),那么这些包会被安装到以下路径之一:

用户级别的 site-packages:这适用于所有用户,不需要管理员权限。

  • 路径:%APPDATA%\Python\Python<version>\site-packages
  • 例如,对于 Python 3.7,路径将是:
C:\Users\<YourUsername>\AppData\Roaming\Python\Python37\site-packages

全局 site-packages:这需要管理员权限来安装包。

  • 路径:<PythonInstallDir>\Lib\site-packages
  • 例如,如果 Python 3.7 安装在 C:\Python37 下,那么路径将是:
C:\Python37\Lib\site-packages
如何查找确切的 site-packages 目录

你可以运行一个简单的 Python 脚本来找出当前 Python 解释器使用的 site-packages 目录。打开命令提示符并输入以下代码:

import site
print(site.getsitepackages())

或者,如果你想查看用户级别的 site-packages 目录,可以使用:

import site
print(site.getusersitepackages())

这两个命令会输出相应的 site-packages 路径,帮助你确定应该将自定义模块放在哪里。

将自定义模块添加到 site-packages

一旦你找到了正确的 site-packages 目录,你可以直接将你的 .py 文件复制到该目录下,或者创建一个新的子目录并将你的模块文件放入其中。之后,你就可以像导入任何其他标准库一样导入你的模块了。

例如,假设你有一个名为 mymodule.py 的文件,你可以将其复制到 C:\Users\<YourUsername>\AppData\Roaming\Python\Python37\site-packages\ 目录下,然后直接在 Python 代码中使用 import mymodule 来导入它。

这种方式适用于希望长期使用某些模块的情况,但需要注意的是,这可能会影响多个项目间的兼容性问题。

方式三:设置环境变量

通过设置PYTHONPATH环境变量,可以让Python自动查找并加载不在默认路径中的模块。

设置步骤
  1. 找到或创建你想存放模块的目录。
  2. 编辑系统环境变量,添加新的PYTHONPATH条目指向这个目录。
Windows 设置示例
  • 右键点击“此电脑”->属性->高级系统设置->环境变量。
  • 在系统变量部分找到Path变量,编辑它,新增一行填写你的目录路径;如果没有PYTHONPATH则新建一个。
  • 重启命令提示符窗口使更改生效。
Linux 设置示例

打开终端执行:

export PYTHONPATH="${PYTHONPATH}:/path/to/your/module"

要让这一改动永久生效,可以将上述命令加入到你的shell配置文件(如.bashrc)中。

一旦设置了PYTHONPATH,你可以像平常一样从任何地方导入模块:

import mymodule
print(mymodule.say_hello('学习者'))  # 应用场景演示

这种方法为开发者提供了极大的灵活性,特别是在大型项目中管理复杂的依赖关系时尤为有用。

山海摸鱼人
致力于记录美好之瞬间,追寻美好之明天。
 最新文章