补注喵
for Proj-00
关于 Python 的版本
Python 的版本号分为三部分 X.Y.Z
X是主版本号。迭代会带来大量的变化或不兼容。现在一般都使用3。Y是次版本号。迭代会带来新特性和改进。一般推荐使用⑨及以上Z是修订版本号。迭代会带来错误修正和安全更新,一般还是用越大的越好。
如未特别说明,此教程使用版本 3.11 ,实际使用 3.11.9
以及,次版本号在⑨及以上的版本已不再支持 Windows7,请注意。
过高的版本有可能不稳定,需要你自己在稳定性和新特性间权衡。
关于 Python 下载
如果选择了一个次版本号相对较低的 Python,但是修订版本号又是最新的,那么你有可能找不到构建好的二进制文件。就像这样:

机翻一下也能知道,大概就是这个次版本号已经进入了安全性更新阶段,不再做 bugfix,只有源代码包提供在下面。
这时可以按照提示去找最后发布的二进制文件(图中是让你去 3.8.10 找),或者用别的第三方 Build ,或者干脆自己 Build
关于 py 启动器
如果选择安装了 py 启动器,那么 Python 解释器本体在不在环境变量 PATH 里都无所谓了。因为有 py 启动器直接位于 C:\Windows\ 中。
只是如果一个能定位解释器的地方都没有的话,直接输入 python 就不行了,必须通过 py 来启动 Python。
py 启动器通过环境变量和注册表等方式来找到 Python,因此不建议直接移动 Python 的所在的文件夹,会导致一系列问题。一般推荐使用安装包来做修改。
关于交互式 Python
又被称作
IPython
Interactive Python
类似于终端,你输入的每条指令会在下一次输入前得到来自解释器的反馈。输入提示是 >>> 。
反馈内容通常是调用你输入的内容(的求值结果)的 __repr__() 方法得到的结果。如果使用了 print() 之类的函数,一般还会反馈打印的内容。
如果看上去没有任何反馈显示,可能是因为结果是
None。
>>> None
>>> ''
''
>>> 1+2
3
>>> 1+2+3
6
>>> 2**16
65536
>>> print("Hello World")
Hello World2
3
4
5
6
7
8
9
10
11
另一个增强版的交互式 Python 可以安装 ipython 包后通过命令行 ipython 启动
不过
jupyter包中已经包含了它,请注意覆盖问题
关于 pip
Python 的包管理器。一般用来安装 Python 的第三方库。
就像 Linux 的包管理器那样,从中国大陆地区直接访问官方源会有些吃力,推荐换源。
↑ 省流 (x)
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple库会被安装到 python\Lib\site-packages\ 下,在这个过程中会默认在 %LocalAppData%\pip\ 下产生缓存,这个位置可以通过设置改变。
关于某些 VSCode 扩展的依赖
在我进行实践时,在正文中提到的扩展中,似乎只有 jupyter 需要额外自行安装命令行工具。不过还是建议再安装全面一点就是了。
对于安装这些命令行工具,我个人使用的是 pipx 。下面是流程。
安装 pipx
先在全局环境中安装 pipx ,请确保没有处于虚拟环境中。
pip install pipx先允许我们在全局环境中拉依托,之后会清理掉。
再使用全局环境中的 pipx 在 pipx 的隔离环境中安装 pipx 。
pipx install pipx为了让 pipx 能够正常工作,运行:
pipx ensurepath清理全局环境
现在可以清理掉全局环境中的 pipx 及其依赖了。
先导出已安装的包
pip freeze > requirements.txt然后手动编辑导出的 requirements.txt ,删除包的版本信息。
像这样,删掉高亮标注的部分,只留下包名。
正则表达式真好用啊

保存后使用 -r 选项卸载所有包。
pip uninstall -r requirements.txt -y这样一来全局环境就又干净了。
安装命令行工具
像这样可以通过一行指令安装多个包
请根据需要做修改
pipx install black flake8 pylint mypy isort pdm poetry特别地,对于 jupyter ,由于它的依赖中也有很多有用的命令行工具,使用
pipx install jupyter --include-deps进行安装,可以使你能在命令行中启动它和它依赖的所有程序。不过这样做仍然不能在 VSCode 中直接使用 jupyter,需要额外在每个虚拟环境中安装 ipykernel 包。这里先按下不表。
关于 pipx
Python 中有些包会包含一些可执行文件(命令行工具包),如上文所述。
如果使用 pip 安装的话,这些可执行文件会被放置到 python\Scripts\ 下。它们的依赖项有可能会有冲突,而且会污染全局环境。
pipx 可以自动创建虚拟环境将它们隔离开,只将可执行文件暴露到环境变量 PATH 中。十分甚至九分地方便。
因此那些使用方式是命令行调用的包,都可以用 pipx 搞定。
显然,像
requests这样的库,就不应该这样了。
pipx 的机制
pipx 使用两个路径,一个用来存放虚拟环境和包,一个用来暴露可执行文件。
这两个路径可以通过 PIPX_HOME 和 PIPX_BIN_DIR 环境变量进行修改。仍然可以手动为他们重新分配一下,方便管理。
PIPX_BIN_DIR是需要放在PATH中的,使用pipx ensurepath指令可以帮你自动完成这件事。
关于 pip 的替代品
pip 已经很老了,走到现在为了兼容性做出了很多牺牲。或许,你会想使用更高级的包管理工具?
PDM / Poetry 或许是不错的选择,可以尝试自己探索探索。
关于文件夹整理
我个人因为稍微带点强迫症所以会创一个文件夹来专门放这些东西。
总之看自己的情况罢,什么都默认也挺好的,大概?
为什么路径要纯英文?
啊,如果你能容忍程序发生各种各样的编码造成的问题的话,中文也不错噢 ww
这在 C 语言家族编程中更为重要,试试便知()
有时有可能半天找不到问题,结果发现原来是自己的用户名是中文导致的 ww
另一个例子是,Steam 也只能安装在这样的文件夹中。

所以嗯,为了兼容性、减少编码错误,请对任何开发项目都使用纯英文路径罢!(震声)