每天进步一点点:Windows下Python embeddable 安装

最近一直发旅游照片啦,朋友问我:“O哥你是不是从技术博主转型到旅游博主啦?”。其实O哥哪有啥技术,都是瞎折腾罢了。

<p dir="auto"><img src="https://images.hive.blog/DQmPQVkwTyjuqZgb9w6QZ7MiGRFwLS73NiNcZZiujsfsSDj/image.png" alt="image.png" /><br /> (图源 :<a href="https://pixabay.com/photos/lightbulb-idea-creativity-base-3104355/" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">pixabay <p dir="auto">话说,说到博主类型这个话题,O哥不但可以做旅游博主、伪技术博主,甚至还可以做美食(暗黑料理)博主、情感博主,所以其实O哥就是一个百变博主。 <p dir="auto">不扯淡了,言归正传,话说O哥在撰写旅游帖子时,照片都是精挑细选的,然后再用Paint(Windows自带画图软件)一张一张地调整大小。 <p dir="auto">为什么要调整大小呢?因为照片太大,上传到HIVE自带的图床会很慢,朋友们阅读时加载也慢,而且还有个缺点是浪费图床的空间,所以一般都将图片长宽调整为50%。 <p dir="auto">但是一张张调整实在是太累了,尤其是有时候四五十张照片,简直要累到吐血,所以如果能一键调整所有图片尺寸的工具,那么就太好了。 <p dir="auto">其实这样的工具也有很多,不过O哥有系统洁癖,所以打算自己弄一个,应该非常简单,再纠结了C++和Python语言后,决定选择Python语言。 <p dir="auto">虽然没少在Linux环境下使用Python,也在Windows环境下给儿子的电脑安装过Python,但是到我这里,系统洁癖又范了,我决定安装Python的可嵌入版本。 <h1>安装Python embeddable <p dir="auto">首先到Python官网下载最新的Python,当前版本是<a href="https://www.python.org/downloads/release/python-3114/" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Python 3.11.4,我们可以看到下载页面有好多选择: <p dir="auto"><img src="https://images.hive.blog/DQmRS4V8THSFBJxpYC3sHJcd496GLeZh9sqjsehUvQDg8f9/1691838300213.png" alt="1691838300213.png" /> <p dir="auto">根据我的系统情况,我下载的是<a href="https://www.python.org/downloads/release/python-3114/" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">Windows embeddable package (64-bit),亦即上图中,我圈红的部分。 <p dir="auto">下载成功后,是一个.zip文件,我将其解压并将其中内容复制到<code>C:\Program Files\python-3.11.4-embed-amd64。(你可以自己选择路径,比如<code>C:\Python)。 <h1>设置环境变量 <p dir="auto">进行到这里时,Python还不能正常使用,我们需要设置系统的环境变量来让系统正确寻找Python路径。 <p dir="auto">进入<code>系统属性->高级标签页<br /> <img src="https://images.hive.blog/DQmNfoaBJtzdA34qS2wafixGwoQKmhBFPGp7AAsyB5jFEHs/image.png" alt="image.png" /> <p dir="auto">选择底部位置的<code>环境变量,进入如下页面:<br /> <img src="https://images.hive.blog/DQmaS63qvyvgDyV3Z9VnNp3PXxDPPrK53LQ87zdnyerrR8K/1691838668320.png" alt="1691838668320.png" /> <p dir="auto">选择上图<code>Path条目并点击<code>Edit按钮,然后将我们的路径加入其中:<br /> <img src="https://images.hive.blog/DQmYkCpXtWd2eAYqGANiXMkLU1QwkzfHd7tMof39KW1CX1Q/image.png" alt="image.png" /> <p dir="auto">好了,现在就可以使用Python啦。 <h1>使用PIP <p dir="auto">成功安装了Python后,我们就可以使用Python的各种内置模块,但是如果想让Python发挥其强大功能,我们需要使用PIP来安装各种其它第三方模块。 <p dir="auto">但是我尝试使用<code>python -m ensurepip却失败了,找了半天也没找到原因。无奈之下找到<a href="https://pypi.org/project/pip/" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">PIP的页面,发现除了ensurepip外,还可以通过以下两种方式安装: <ul> <li>get-pip.py <li>Standalone zip application <p dir="auto">其中后者是<a href="https://bootstrap.pypa.io/pip/pip.pyz" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">下载一个独立的zip文件,然后可以以如下方式直接执行: <blockquote> <p dir="auto"><code>python pip.pyz --help <p dir="auto">于是我下载了对应文件并将其复制到我的那个目录:<code>C:\Program Files\python-3.11.4-embed-amd64 <p dir="auto">然后在命令行中进入到这个目录,就可以使用类似如下指令安装各种模块了,比如: <blockquote> <p dir="auto"><code>python pip.pyz install pillow <p dir="auto">需要注意的是,如果你要安装到用户目录需要使用<code>--user参数,如果安装到系统目录,可能会有权限问题,那么需要<strong><em>以管理员方式运行命令行。 <h1>路径问题 <p dir="auto">安装完pip以及pillow,原则上我们就可以使用强大的pillow模块了。 <p dir="auto">不过当我在Python环境中尝试如下语句:<br /> <code>from PIL import Image <p dir="auto">直接被提示:<br /> <code>ModuleNotFoundError: No module named 'PIL' <p dir="auto">网上有些教程让编辑python311._pth,并加入相应的路径,可是我试了N次都没试明白,后来将python311._pth改名(使其不工作),路径问题神奇地解决啦: <p dir="auto"><img src="https://images.hive.blog/DQmNkmQ9saJ7usuACjpGkcTYvutmi22HtVKKq3SyWh5dX8V/1691840310065.png" alt="1691840310065.png" /> <h1>总结 <p dir="auto">Python embeddable 目的是用于嵌入到程序中执行,正常安装的话,还是建议使用安装包安装,会解决我遇到的所有问题。 <p dir="auto">因为系统洁癖,非要使用Python embeddable 来安装,浪费我大半天的时间,哭呀,没事瞎折腾个啥劲呢,净做无用功! <h1>相关链接 <ul> <li><span><a href="https://www.python.org/downloads/release/python-3114/" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://www.python.org/downloads/release/python-3114/ <li><span><a href="https://pypi.org/project/pip/" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://pypi.org/project/pip/ <li><span><a href="https://bootstrap.pypa.io/pip/pip.pyz" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://bootstrap.pypa.io/pip/pip.pyz <li><span><a href="https://docs.python.org/3/library/sys_path_init.html#pth-files" target="_blank" rel="noreferrer noopener" title="This link will take you away from hive.blog" class="external_link">https://docs.python.org/3/library/sys_path_init.html#pth-files
Sort:  

我取了个“爱折腾的博主”,希望O哥喜欢😂😂😂

O哥是技术兼旅游博主 我更喜欢后者😁

我倒是很期待看O哥的黑暗料理🤣🤣

o哥是全才!

你瞎了都比我們明眼看的清楚... 😭

( ╯□╰ )