Ronan Blog

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

「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 .

「OrbStack」Mac 系统中一个更快的 Docker 可视化工具,可完全替代 Docker Desktop

2024-09-02 1 min read Docs Ronan

我之前用的是 Docker Desktop,每次准备启动容器的时候,我都会把能关的应用都关闭,省的电脑卡, Docker Desktop 确实有点儿耗性能。

如果你也觉得 Docker Desktop 太慢了,或者之前没有可视化工具,不妨试试 OrbStack。

img

OrbStack 是一款针对 macOS 操作系统的定制的,它的目的就是提供一个高效、轻量级的 Docker 和虚拟机(VM)管理平台。

官网地址: https://orbstack.dev/

它不仅仅支持 Docker、 Kubernetes,而且支持Linux子系统,类似于 Windows 系统下的 WSL。

它的功能如下:

  • 轻量级虚拟化:OrbStack 使用 macOS 原生的虚拟化框架,确保了高效的资源利用率和优秀的性能表现。
  • 简易管理:提供了对Docker容器和虚拟机的统一管理界面,使用户能够方便地启动、停止、配置和监视容器与虚拟机。
  • 无缝集成:与 Docker 和 Kubernetes 无缝集成,支持容器编排和微服务架构的轻松管理。
  • 强大工具支持:支持 SSH、文件同步、端口转发等功能,方便开发者进行远程调试和开发。
  • 用户友好:提供图形化用户界面和命令行工具,开发者可以根据需求选择最适合的操作方式。

OrbStack 和 Docker Desktop 的优势对比 虽然 OrbStack 和 Docker Desktop 都是用于管理Docker环境的工具,但在具体特性和用户体验上有一些显著的区别和优势:

  1. 资源利用率与性能
  • OrbStack:利用 macOS 原生虚拟化框架,因此更轻量级,启动更快,占用的系统资源更少。
  • Docker Desktop:依赖于第三方虚拟化解决方案如 HyperKit 或 VirtualBox,在资源消耗上可能稍高,尤其是在大量使用 Docker 容器的场景下。
  1. 系统整合
  • OrbStack:深度集成于 macOS,具有更高的系统兼容性和稳定性。对于使用 macOS 系统的开发者,OrbStack 能提供更流畅和无缝的体验。
  • Docker Desktop:尽管支持多种操作系统,但在各个平台上的整合程度和性能表现可能会有所不同。
  1. 用户界面和易用性
  • OrbStack:提供简洁直观的用户界面,同时保留强大的命令行工具。适合那些希望快速上手,并且需要高效管理容器和虚拟机的用户。
  • Docker Desktop:虽然功能全面,但其界面对某些用户尤其是新手用户可能显得有些复杂,学习和配置的时间成本稍高。
  1. 特殊功能
  • OrbStack:提供了特有的功能如文件同步、端口转发和高级网络配置等,使得远程开发和调试更加便捷。
  • Docker Desktop:功能依赖于 Docker Engine,具有全面的 Docker 支持,但某些高级配置功能可能需要额外的学习成本。

如果你正在使用 Docker Desktop ,可以在 OrbStack 中一键将原本的 Docker 配置和资源导入到 OrbStack,几乎零成本切换。

Continue reading

「python」打包程序

2024-09-02 1 min read Docs Ronan

通过pyinstaller打包

要将Python脚本打包成一个独立运行的应用程序,可以使用工具PyInstaller,其可以将Python脚本打包成一个可执行文件 (.exe) 。这样生成的应用程序不依赖于系统上的任何库,可以在没有Python环境的计算机上运行。一般使用pyinstaller将py文件打包成可执行文件。

[!warning]

通过该方法打包的程序不具备跨平台性 :如果你需要在其他操作系统上运行该程序(例如在Windows上开发并希望在macOS或Linux上运行),你需要在目标平台上执行上述步骤。PyInstaller 无法直接生成跨平台的可执行文件。

1. 安装 PyInstaller

首先,确保你已经安装了 PyInstaller。如果没有,可以使用以下命令进行安装:

pip3 install pyinstaller

2. 打包 Python 脚本

在终端或命令提示符下,导航到包含你的 Python 脚本的目录,并运行以下命令:

pyinstaller --onefile script_name.py

script_name.py 替换为你要打包的脚本文件名。--onefile 参数将所有的依赖和脚本打包成一个单一的可执行文件。

3. 查找生成的可执行文件

打包完成后,PyInstaller 会在当前目录下生成一个 dist 文件夹,其中包含你的可执行文件。你可以将这个文件复制到其他没有 Python 环境的系统上运行。

4. 处理依赖项

如果你的脚本有特定的依赖项(如额外的Python库),PyInstaller 会自动检测并打包它们。但如果有某些依赖项没有正确处理,你可能需要使用 --hidden-import 参数手动指定。

pyinstaller --onefile --hidden-import=<module_name> script_name.py
Older posts Newer posts