详解:python程序运行的环境到底是什么

Python运行环境指的是Python解释器及其周围的工具、库和配置,它们共同构成了Python程序执行的环境。Python运行环境提供了执行Python代码所需的一切支持。

操作系统:

Python程序在特定操作系统上运行,因此操作系统本身也是Python运行环境的一部分。Python代码在不同操作系统上的行为可能会有所不同。
可以这么说,写程序就像你要做菜那么你需要一个厨房,厨房可以说是我们的Linux或者windows系统。

Python解释器:

Python运行环境的核心是Python解释器,Python解释器是负责执行Python代码的软件程序。它读取、解释和执行Python代码,并将其转换成机器能够理解和执行的指令。根据所选择的Python版本,可能是CPython、Jython、IronPython、PyPy等不同的解释器。
那么厨房里的火就可以看作是Python的解释器这是Python运行的核心。

开发工具:

Python运行环境还可能包括用于开发和调试的工具,例如集成开发环境(IDE)如PyCharm、Visual Studio Code、Jupyter Notebook等,以及调试器和代码编辑器。
Pycharm,Jupyter这些开发工具就可以看作案板刀具。

环境变量:

Python环境变量是指在Python程序运行时用于控制其行为的一组设置和配置。这些环境变量可以影响Python解释器的行为,影响代码的执行方式,并提供有关系统和程序的信息。

以下是一些常见的Python环境变量:

  1. PYTHONPATH: Python解释器用于搜索模块文件的路径。如果你的Python程序中引用了自定义模块或库,PYTHONPATH 可以帮助解释器找到这些文件。它是一个包含路径的列表,用于指示Python解释器在哪里搜索模块。

  2. PYTHONHOME: 指定Python的安装路径。当有多个Python安装时,通过设置PYTHONHOME可以告诉解释器要使用哪个Python安装路径。

  3. PYTHONSTARTUP: 指定一个Python脚本文件的路径,该文件在启动Python解释器时会自动执行。通常用于设置一些默认的环境或导入常用模块。

  4. PYTHONBUFFERED: 控制Python程序的标准输出和标准错误流的缓冲行为。当设置为1时,强制禁用缓冲;当设置为0时,启用缓冲。

  5. PYTHONIOENCODING: 设置Python程序的标准输入、输出和错误的编码格式。

这些环境变量可以通过操作系统或者在Python程序中通过 os 模块进行设置和获取。在程序执行期间,Python可以通过访问 os.environ 字典来获取这些环境变量的值。

示例代码:

import os

# 获取PYTHONPATH环境变量的值
pythonpath = os.getenv('PYTHONPATH')
print(f"PYTHONPATH: {pythonpath}")

# 设置自定义的环境变量
os.environ['CUSTOM_VARIABLE'] = 'custom_value'

# 获取自定义环境变量的值
custom_var = os.getenv('CUSTOM_VARIABLE')
print(f"CUSTOM_VARIABLE: {custom_var}")

这些环境变量可以用于控制Python程序的行为、定制程序的运行环境,并提供程序执行所需的配置信息。
环境变量可以看作我们用来存放食物,调料的位置。

标准库与第三方库:

Python标准库包含了大量内置模块和功能,可用于执行各种任务,如文件操作、网络通信、数据处理、正则表达式等。除了标准库之外,Python还有大量第三方库和模块,例如NumPy、Pandas、Matplotlib等,这些库提供了各种额外的功能和工具,用于数据科学、机器学习、Web开发等领域。
标准库可以看做主食,第三方库可以看作配菜。

虚拟环境:

为了隔离不同项目所需的依赖,Python还提供了虚拟环境(virtual environment),它可以创建一个独立的Python运行环境,允许在不同项目中使用不同的包和库。

在 Python 中,虚拟环境是一种管理项目依赖项和独立于系统级安装的库和工具的方法。它允许您在同一台计算机上的不同项目中使用不同的 Python 版本和库,而不会相互干扰。

要创建和使用 Python 虚拟环境,可以使用 Python 的内置模块 venv 或者第三方工具如 virtualenv

使用 venv 创建虚拟环境:

  1. 创建虚拟环境:

    在命令行中运行以下命令(假设您使用的是 Python 3):

    python3 -m venv myenv
    

    这将创建一个名为 myenv 的虚拟环境。

  2. 激活虚拟环境:

    在 Windows 上:

    myenv\Scripts\activate
    

    在 macOS 和 Linux 上:

    source myenv/bin/activate
    

    当虚拟环境被激活时,命令行提示符可能会显示为 (myenv) 或者类似的前缀,表示您已进入虚拟环境。

  3. 在虚拟环境中安装/管理依赖项:

    在虚拟环境中,您可以使用 pip 来安装、更新或删除项目所需的软件包。

    安装包:

    pip install package_name
    

    更新包:

    pip install --upgrade package_name
    

    卸载包:

    pip uninstall package_name
    
  4. 退出虚拟环境:

    在虚拟环境中工作完成后,可以使用以下命令退出虚拟环境:

    deactivate
    

使用虚拟环境可以保持项目之间的隔离,防止不同项目之间的依赖冲突,并使得项目更易于管理和移植。
请注意,这里提供的是在命令行中创建和管理虚拟环境的方法。在集成开发环境(IDE)中,也通常有相应的界面来创建和管理虚拟环境,比如 PyCharm、VSCode 等。
虚拟环境就可以看出你每做一道菜就要清洗一次的锅。比喻也许不很准确,如果有问题请及时指正。

总的来说,Python运行环境是为了支持Python程序的执行而提供的一系列工具、库和设置。它的目标是提供一个稳定、高效的平台,让开发者能够编写、测试和运行Python代码。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐