首页 >>  正文

python如何创建包

来源:baiyundou.net   日期:2024-09-27

作者:东流去

购买理由

奶爸玩Home Assistant用的硬件是台M1的mac,软件配置是这个样子的:

Home-brew 4.0.3 里面装了python3.10,在python虚拟环境里跑的Home Assistant Core

本来的配置home-brew3+python3.9+home assistant core2023.1.7

这篇就是升级到home-brew4+python3.10+homeassistant core 2023.2.0的纯干货

升级python倒3.10 的原因很简单,python3.9的官方支持只能到Home Assistant 2023.1.7,更新的版本需要python3.10,好吧,本来不想折腾,但实在是没有办法,只好硬着头皮升级,中间走了很多弯路,写出来希望后来者会更轻松一些。

Mac os 自带有phthon3.9,但是一般老程序员都会建议,重新在Home-brew里部署一个独立的Python,毕竟重装Home-brew比重装macos系统容易多了,一旦出了问题删除Home-brew,就可以轻易推到重来。

Home-brew这个包管理器,也更加干净整洁,方便管理。

第一步:Home-brew4的部署

没有什么难度,本质上就是换源,提高访问的速度。搜索“Homebrew 源使用帮助”,参考清华源或者中科大源帮助文档就可以。

关键点就是在配置文件里,加上这几行代码,我的文件是在这个位置 /.zshrc (等同于 /users/用户名/.zshrc)

export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"

export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git"

export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles"

export HOMEBREW_API_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles/api

eval $(/opt/homebrew/bin/brew shellenv)

解释一下,添加API这一行是因为Home-brew更新了api这一访问方式,这一点与home-brew3不同。

然后,homebrew update

homebrew upgrade

 homebrew upgrade

一切正常后,转到下一步

第二步,安装python3.10

brew里的python是没有升级到3.10这个概念的,各个版本的python都可以共存,通过创建不同的虚拟环境解决共存问题。

brew install [email protected]  #安装时指定特定版本

关键点在这里,奶爸假设你的设备已经在3.9的环境下正常运行了Home assistant 2023.1.7,下来只要创建虚拟环境,在环境里再安装一遍更新版本的home assistant,就可以实现home assistant的平滑无感升级。

mkdir ~/Homeassistant   #创建虚拟环境文件所在文件夹,位置自选

cd ~/Homeassistant

python3 -m venv .

source bin/activate

看到这个就成功了,说明了这是python是运行在homeassistant这个环境里。

(Homeassistant) chenwenli@Mini homeassistant % 

第三步,安装home assistant

python3.10 -m pip install wheel

如果提示需要升级 pip 或其他报错运行下方指令

python3.10 -m pip install --upgrade pip

pip3 install homeassistant==2023.2.0 #这是python3.9不支持的版本,能安装说明成功了。

pip3 install --upgrade homeassistant #升级到最新的版本

hass 

能启动就成功了,home assistant 顺利从3.9过渡到3.10,无痛的那种,不需要任何的设置。

hass --script macos install

开机自启动 home assistant

以后升级到python3.11,同样的方法想必也会有用,现在可别升级,不支持的。

   

外观展示

ios16 家庭外观大改了,不难看


\n    

使用感受 

升级后能感知的明显变化是,美的的热水器可以在Homekit里调节温度了。

继小米全家桶之后,美的的设备也可以很容易接入Homekit,实现iphone的控制,在这里感谢大佬georgezhao2010的插件,搜索midea_ac_lan就能找到。

效果不错




\n    

总结

技术的更新从来没有停下来脚步,在matters协议一统之前,homeassistant还是最佳的解决方案。

将来的技术肯定跟好,但当下的技术才是奶爸的最爱。

每个人的软硬件情况不一,有问题可以随时留言提问。

祝人人都可以愉快的玩耍。


\n    

","force_purephv":"0","gnid":"9c8ec6d38c1c935fa","img_data":[{"flag":2,"img":[{"desc":"","height":"250","title":"","url":"https://p0.ssl.img.360kuai.com/t0185ee8fd2e86034ca.jpg","width":"600"},{"desc":"","height":"1299","title":"","url":"https://p0.ssl.img.360kuai.com/t01c651ff84a55af77b.jpg","width":"600"},{"desc":"","height":"1299","title":"","url":"https://p0.ssl.img.360kuai.com/t01c911346f9f9664c3.jpg","width":"600"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1677564517000,"pure":"","rawurl":"http://zm.news.so.com/550b2eda81f1718a7ece08bfefd81394","redirect":0,"rptid":"05d7d55477d171db","rss_ext":[],"s":"t","src":"什么值得买","tag":[{"clk":"ktechnology_1:mac","k":"mac","u":""}],"title":"Mac OS升级安装Python3.10继续玩Homeassistant

安定亲2354Pycharm怎么打包Python脚本 -
武利孙18633131009 ______ python3是必须的,pyqt是做界面的,pycharm是优秀的IDE,pyinstaller生成可执行文件,.1.先按照教程安装python3,QT,pycharm软件,因为目前PyQt5只支持python3.4,所以安装python3.4.参考教程PyQt5+python3+pycharm开发环境配置 在环...

安定亲2354如何在python中添加自定义模块 -
武利孙18633131009 ______ 一般来说,我们会将自己写的python模块与python自带的模块分开存放以达到便于维护的目的. Python 运行环境在查找库文件时是对 sys.path 列表进行遍历,如果我们想在运行环境中注册新的类库,主要有以下三种方法: 在sys.path列表中添...

安定亲2354Python导入模块或包需要注意哪些点 -
武利孙18633131009 ______ Python是一种面向对象的编程语言,里面包含有丰富强大的库,想要学习Python开发,首先需要学习如何导入模块或包.下面就跟大家一起讨论下Python导入模块的几种方法:常规导入 最常用的导入方式,大概是这样的:import sys 只需要使用 ...

安定亲2354如何进入pydev透视图 -
武利孙18633131009 ______ 创建 Python 包和模块 进入 Pydev 透视图,在 Python Package Explorer 中,右键单击 src,选择 New->Pydev Package,输入 Package 名称并单击 Finish,Python 包就创建好了,此时,自动生成__init__.py 文件,该文件不包含任何内容.注意:...

安定亲2354python语言,在已有的文件夹下创建新的文件夹. -
武利孙18633131009 ______ 可以使用os包的mkdir函数来创建新的文件夹.mkdir函数接受一个参数path指定新建文件夹的路径,示例代码如下:import os cur_dir = 'D:\curdir' folder_name = 'baiduzhidao' if os.path.isdir(cur_dir): os.mkdir(os.path.join(cur_dir, folder_name))为了...

安定亲2354pycharm使用创建directory和Python package的区别 -
武利孙18633131009 ______ pycharm创建普通的directory和package时都是在硬盘上建立一个文件夹. 但是建package时会在这个文件夹中自动地生成一个空的__init__.py文件. python的一个包是一个带有特殊文件 __init__.py 的目录.__init__.py 文件定义了包的属性和方法.其实它可以什么也不定义;可以只是一个空文件,但是必须存在.如果 __init__.py 不存在,这个目录就仅仅是一个目录,而不是一个包,它就不能被导入或者包含其它的模块和嵌套包.

安定亲2354virtualenv 怎么创建python3环境 -
武利孙18633131009 ______ 因为某些功能是不自带的 第一种基本安装方法1 下载第三方包,解压2 在命令提示符里输入cmd,然后用cd进入到第三方包的路径下3 输入Python setup.py build4 输入python setup.py install 看到包内的文件在安装即可…… 第二种 用pip和...

安定亲2354anconda2怎么安装python包 -
武利孙18633131009 ______ 如下: 1).不需要配置PYTHON环境变量; 2).集成很多packages,省去一一下载的麻烦; 3).packages的安装很简单,conda一键解决; 4).可以配置python3.5版本的环境,方便切换,互不干扰,兼容性强!

安定亲2354vs2017如何打包python项目,生成exe文件 -
武利孙18633131009 ______ 可以使用PyInstaller把python程序打包成exe,安装使用pip install pyinstaller,使用时,使用pyinstaller打包,参数如下-F, –onefile 打包一个单个文件,如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用-D, –onedir 打包...

安定亲2354怎么样理解一个python项目的各种文件 -
武利孙18633131009 ______ 在Python 中引用是非常简单的事情,这里需要清楚三个概念就可以了包、模块、类.类这个就不用说了. 模块对应的是一个.py 文件,那么module_name 就是这个文件去掉.py 之后的文件名,py 文件中可以直接定义一些变量、函数、类. 那么...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024