(后续测试似乎有问题,此方法可能无法正常使用)

初学Python的时候,对我来说最大的问题就是环境的管理,各种各样项目的各种各样的库堆在一起,别人写好的东西到我这里就跑不起来。

后来选择语言时总是因为想到项目部署时,难说能把依赖库完整装好而放弃Python。

后来不得不用Python了,也就不得不把Python环境弄明白了。

可能是我不怎么写Python的原因,用Conda什么的总感觉不舒服,我更想手动管理环境,把环境放在项目文件夹里,这样无论是部署还是什么都会很方便。

此处给出一种方法,方便在创建项目时能得到一个干干净净的环境,又没什么学习成本。

下载一个干干净净的Python环境

Python官网>下载>Windows,这里能够看到所有的Python版本,这里分了左右两列,左边是

Stable Releases稳定版,右边是Pre-releases测试版,只考虑左边的版本。

此处Ctrl+F搜索需要的Python版本(并非每个都有二进制文件,如果没有就继续往下找)。

在找到后,选择下载 Windows embeddable package

这样会下载到一个最精简、最干净的Python。

解压到需要的地方。

但还没完,这样太精简了。

安装pip

接下来要装一个包管理器。

下载 get-pip.py (你可能要右键这个链接另存为),然后用 刚才安装的Python 执行。

(将get-pip.py拖放给python.exe)

此处需要确保网络通畅。(实测开着科学上网似乎反而不行,等等吧~)

使用

到此,就得到了一个干净但又完整无缺的Python了。优雅

这个Python环境是用于项目的局部Python,当然是无法直接使用全局的pythonpip 命令使用的,pip安装的其他包如果有提供命令也是不能直接使用的。(直接使用这些命令将会用全局Python环境的)

使用时需要明确指定Python。

例如,对于这个样子的项目结构:

  • /

    • project/

      • main.py

      • start.bat

    • embed-python/

      • Lib/

      • Scripts/

      • python.exe

可以像这个样子写一个start.bat脚本辅助项目启动:

../embed-python/python.exe main.py

这样部署或者迁移时直接把根目录迁移了就可以啦

如需使用pip等命令,用下面的写法代替。

假设当前目录在上述/ ,指定python,让Python去找自己的模块的命令: ./embed-python/python.exe -m pip

我能想到的,最大的成功就是无愧于自己的心。