社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

WinPython:一个插 U 盘就能跑 Python 的神器!

数据STUDIO • 6 天前 • 84 次点击  


无需安装,不改系统,插U盘即用,打造随身携带的Python开发环境

在日常Python开发中,环境配置与依赖管理总是令人头疼。不同项目需要不同版本的库,多台电脑需要重复配置环境,没有管理员权限无法安装软件……这些问题困扰着许多开发者。WinPython作为一个便携式Python发行版,为这些问题提供了优雅的解决方案。

什么是WinPython?

WinPython是一个免费的、开源的、可移植的Python编程语言发行版,专为Windows系统设计,特别适合科学计算和教育用途。 它不侵入系统,完全位于自己的目录中,是真正的绿色软件,可以轻松放在U盘中随身携带。

WinPython的核心优势

真正的便携性

WinPython最引人注目的特点是其便携性。用户只需下载解压,即可在任何Windows环境中运行,无需复杂的安装流程。 这种特性特别适合:

  • 需要在多台电脑工作的开发者:可以将开发环境完整放在U盘中,随时随地编码
  • 权限受限的用户:无需管理员权限即可使用完整Python环境
  • 教育与培训场景:教师可以预先配置好环境,学生解压即可使用,避免了课堂环境配置的麻烦

集成的科学计算生态

WinPython专门为科学家、数据科学家和教育工作者设计,预装了众多科学计算库, 包括:

  • NumPy & SciPy:科学计算基础库
  • Pandas:数据处理与分析库
  • Matplotlib:数据可视化库
  • Jupyter/IPython:交互式计算环境
  • Spyder:科学Python开发环境

这些预装的库使得用户无需额外配置即可开始科学计算和数据分析工作。

灵活的包管理

WinPython提供了WinPython包管理器(WPPM),这是一个图形化工具,帮助用户轻松安装、卸载或升级Python包。 虽然pip仍然是推荐的工具,但WPPM降低了新手用户的入门门槛,让不熟悉命令行的用户也能轻松管理依赖。

对于高级用户,WinPython也支持通过pip安装和管理包,提供了多种选择。

环境定制能力

WinPython自带了构建工具链,开发者可以利用make.py脚本从几乎零开始构建自己的WinPython发行版。 这一特性为想要自定义开发环境的程序员提供了极大的灵活性,可以根据特定需求创建完全适合自己项目的Python环境。

WinPython与Anaconda的对比

虽然Anaconda同样是流行的Python科学计算发行版,但两者有着不同的设计理念和优势:

特性WinPythonAnaconda
便携性
真正绿色便携,不写入注册表,不解系统配置
需要安装,会修改系统配置
跨平台支持
仅支持Windows系统
支持Windows、Linux和macOS多个平台
维护模式
由个人维护
由数据分析服务公司维护
包管理
提供WPPM图形化包管理器和pip
使用conda包管理器,支持Python和非Python包
预装库数量
相对较少,专注于科学计算核心库
包含超过180个科学包,更为全面
环境管理
通过多个独立目录实现多版本共存
使用conda环境管理器,可以轻松创建和管理多个环境

WinPython更适合需要 便携性系统纯净性简单性的用户,而Anaconda则在环境管理和包管理上更为强大,并有更广泛的支持。

安装与使用WinPython

WinPython 的强大之处在于它不仅提供了一个即开即用的环境,还配备了丰富的工具链,让你能高效地管理环境、处理依赖和执行任务。下面是一些关键场景的命令和代码示例,帮助你更好地驾驭 WinPython。

下载与安装

安装WinPython非常简单,只需两步:

  1. 访问WinPython官方页面下载最新版本
  2. 将下载的压缩包解压到任意目录(本地硬盘或U盘)

图片

整个过程无需管理员权限,无需点击"下一步",真正实现了即解即用。

通过命令行安装

对于喜欢命令行的用户,WinPython也支持从源构建:




    
python -m pip install flit
python -m flit build
python -m pip install --no-index --trusted-host=None --find-links=.dist winpython

这种方式适合想要深度定制安装的用户。

WinPython 的基本使用与验证

成功下载并解压 WinPython 后(建议放在没有中文和空格路径的目录下),首先要做的是验证环境。

启动 WinPython 命令行

解压目录下通常会有一个 WinPython Command Prompt.bat 或类似名称的批处理文件。双击运行它,这会确保所有环境变量都正确设置。

验证 Python 版本

在打开的命令行窗口中输入:

python --version

这会显示预装的 Python 版本号,例如 Python 3.8.5,确认 Python 解释器可以正常运行。

进入 Python 交互界面

输入 python 并回车,你会看到 Python 的交互式界面(REPL),通常以  >>> 提示符开始。你可以在这里输入简单的 Python 代码并立即执行,例如:

print("Hello, WinPython!")

包管理:WPPM 与 pip

WinPython 提供了图形化和命令行两种方式来管理软件包。

使用 WPPM (WinPython Package Manager)

在 WinPython 解压目录下找到并运行 WPPM.exe(或类似名称的可执行文件)。这个图形化工具可以让你浏览可用包、安装、升级或卸载包,而无需记忆命令,对新手非常友好。

使用 pip 命令行

在 WinPython Command Prompt 中,你可以使用 pip 进行包管理。常用命令包括:

  • 安装包(例如安装 pandas):
pip install pandas
  • 安装特定版本的包
pip install numpy==1.23.5
  • 升级包
pip install --upgrade pandas
  • 卸载包
pip uninstall package_name
  • 列出已安装的包
pip list
  • 导出环境中的所有包列表(这对于迁移或重现环境非常有用):
pip freeze > requirements.txt

这会将当前环境中所有已安装的包及其精确版本号导出到 requirements.txt 文件中。

  • 根据 requirements.txt 文件批量安装依赖
pip install -r requirements.txt

运行 Python 脚本

在 WinPython Command Prompt 中,你可以轻松运行 Python 脚本。

运行当前目录下的脚本

( your_script.py):

python your_script.py

运行指定路径的脚本:

python path\to\your_script.py

带参数运行脚本:

如果你的脚本需要接收命令行参数(例如 script.py 需要两个数字参数):

python script.py 10 20

在脚本中,你可以使用 sys.argv 来获取这些参数:

# script.py 内容示例
import sys

def main():
    if len(sys.argv) == 3:
        try:
            a = int(sys.argv[1])
            b = int(sys.argv[2])
            print(f"The sum of {a} and {b} is: {a + b}")
        except ValueError:
            print("Error: Please provide two integers.")
    else:
        print("Usage: python script.py ")

if __name__ == "__main__":
    main()

执行系统命令

有时你可能需要在 Python 脚本中执行 Windows 系统命令。subprocess 模块是完成此任务最推荐和灵活的方式。

获取命令输出

(例如执行 dir 命令并打印结果):

import subprocess

result = subprocess.run(['dir'], shell=True, capture_output=True, text=True)
print(result.stdout)
# 如果命令执行出错,可以打印错误信息
if result.stderr:
    print("Error:", result.stderr)

检查命令执行是否成功

try:
    result = subprocess.run(['some_command'], shell=True, check=True, capture_output=True, text=True)
    print("Command succeeded!")
    print(result.stdout)
except subprocess.CalledProcessError as e:
    print(f"Command failed with return code {e.returncode}:")
    print(e.stderr)

环境迁移与复用

WinPython 的便携性使得环境迁移非常方便。

在源计算机上

  • 确保你的 WinPython 环境和项目所需的所有包都正确无误。
  • 在  WinPython Command Prompt 中,导航至你的项目目录,使用 pip freeze 导出依赖:
pip freeze > requirements.txt
  • 将整个 WinPython 目录(或如果你担心空间,可以只复制项目文件和 requirements.txt)和你的项目文件一起拷贝到移动存储设备或目标计算机。

在目标计算机上

  • 将 WinPython 目录解压或复制到任意位置(同样建议使用简单路径)。
  • 将你的项目文件也拷贝到目标计算机。
  • 运行 WinPython Command Prompt,导航到你的项目目录。
  • 如果目标计算机没有联网,或者需要严格保证包版本一致,你可以使用之前导出的 requirements.txt 文件来安装所有依赖(确保使用 WinPython 自带的 pip):
pip install -r requirements.txt
  • 之后你就可以在目标计算机上运行你的项目了。

高级用法:构建自定义的 WinPython

对于有高级需求的用户,WinPython 允许你从源代码构建自定义版本,但这通常需要较多的技术背景和时间。一个更常见的“自定义”方式是:

  • 在一个基础的 WinPython 环境上,使用 pip 安装你需要的所有特定包。
  • 然后将这个配置好的完整 WinPython 目录作为你个人的“定制版”进行分发和复用。

希望这些更具体的命令和代码示例能让你在使用 WinPython 时更加得心应手!

Spyder Software - 1

WinPython的适用场景

科学计算与数据分析

WinPython为科学计算和数据分析提供了开箱即用的环境。研究人员和数据科学家可以迅速搭建工作环境,减少配置时间,将更多精力投入到实际研究中。

教育与培训

在教育场景中,WinPython极大地降低了Python教学的环境门槛。教师可以预先配置好包含所有必要工具的环境,学生只需解压即可开始学习编程,避免了环境配置带来的技术困难。

跨设备开发

对于需要在多台电脑间切换的开发者,WinPython保证了环境的一致性。无论是在办公室、家中还是实验室,都能通过U盘携带完整的开发环境,确保代码在任何地方都能正常运行。

系统受限环境

在那些不允许安装软件或者没有管理员权限的环境中(如公司电脑、实验室设备),WinPython提供了无需安装的解决方案,用户可以不受限制地使用Python进行开发和分析。

写在最后

WinPython以其便携性非侵入性开箱即用的特点,成为了Windows平台上Python开发者的理想选择之一。它特别适合那些需要在多环境间切换、缺乏系统权限、或者希望保持系统纯净的用户。

虽然Anaconda在包管理和环境管理方面更为强大,但WinPython的轻量级和便携性为其赢得了特定用户群体的青睐。无论是科学计算、教育教学还是跨平台开发,WinPython都能有效提升开发者的工作效率。

对于那些厌倦了反复配置Python环境、担心依赖冲突、需要在不同电脑间无缝切换工作的用户,WinPython无疑是一个值得尝试的解决方案。

项目地址:https://github.com/winpython/winpython

通过WinPython,Python开发变得更加简单、便捷,让你能够更专注于代码本身,而不是环境配置的琐碎细节。


🏴‍☠️宝藏级🏴‍☠️ 原创公众号『数据STUDIO』内容超级硬核。公众号以Python为核心语言,垂直于数据科学领域,包括可戳👉 PythonMySQL数据分析 数据可视化机器学习与数据挖掘爬虫 等,从入门到进阶!

长按👇关注- 数据STUDIO -设为星标,干货速递

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/186592
 
84 次点击