![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
Damien_J
Comprehend |
Create |
Universe
展开
-
Python SDK 使用Azure Document intelligence报错(404) Resource not found
抱着试一试的心态尝试去重新创建了个DI,我一开始是southeast Asia,新建了一个是East US的区域的DI,然后修改代码里面的endpoint和key。重新跑代码,居然成功了。最近项目需要使用到Azure Document intelligence,于是去做POC,但是发现最简单的demo跑的时候都会报这个错,解决了一下午终于搞定了,记录下。最后是demo代码。这个PDF应该是公共可以访问的。解决了一下午,终于解决了。的问题,本来是不太相信的,原创 2024-08-01 16:55:34 · 159 阅读 · 0 评论 -
pip 查看包依赖树
【代码】pip 查看包依赖树。原创 2024-07-25 14:36:01 · 158 阅读 · 0 评论 -
python 实现docx指定语言翻译(不丢失格式)
传入文件名,后缀,需要翻译成的语言。我这里用的自动检测语言,但是翻译的速度就会慢一点,如果想要达到最快的翻译速度的话,最好就是指定源语言是什么。这样翻译出来需要一点点时间,但是不会丢失格式,约等于完美翻译。可以看到他的source code是返回的一个 Detcted,直接.lang就可以拿到语言的key了。python-docx是用来读取docx的,googletrans使用来翻译的。我这边有个需求需要把一份docx翻译成指定语言的文档并且保存,研究了下,记录。这个是官方文档,额外的用法可以再这里找到。原创 2024-07-04 17:03:44 · 445 阅读 · 0 评论 -
python array[dict] 某个按照某个key去重
我现在有个这个array key需要按照key去重,一开始用list(set())去重,但是发现set不能传入dict.这样做就可以用某个key来去重。原创 2024-07-02 14:07:24 · 250 阅读 · 0 评论 -
Aiflow中,代码逻辑中明明不该触发的方法但是却触发了。
图中这个红圈的task,是我更新error记录的task,是某些特定的task特定情况会触发的。正常情况走的最下面的箭头的路径。但是现在就是就算只走了下面箭头的路径,红圈那个task依然被触发了。),意思就是上游没有失败的就会触发,不论成功或者是skiped都会执行,就算你这次代码逻辑根本走不到它。那怎么办呢?原创 2024-06-18 17:54:16 · 500 阅读 · 0 评论 -
Airflow 中的trigger_rule
在 Apache Airflow 中,trigger_rule 是用于控制任务何时被触发的规则。TriggerRule 是一个枚举类型,它包含了多种不同的触发规则。以下是这些规则及其用途的详细说明:trigger_rule的优先级非常高,就算dag顺序里面定义的路径应该走它但是trigger_rule没有满足,依然不会走,顺序里面不该走它,trigger_rule满足了他就会触发,我已经遇到几次这种错误导致我焦头烂额了原创 2024-06-18 17:31:48 · 274 阅读 · 0 评论 -
Airflow Dag中,某个多分支汇合的task不执行
其实问题的关键就是TriggerRule,TriggerRule默认是ALL_SUCCESS,也就是与门,我们想要的是或门,就是只有当所有上游任务都没有失败时,当前任务才会被触发(即上游任务要么成功要么被跳过)。我截图里面是我理想状态下,走任意一条路,之后最后retrain_model_by_model_info都会执行,但是这个问题就是遇到它执行,不管走的哪条路都不执行。就拿这个图举例,这是个典型的分支路最后汇合执行的task,用代码演示就是这种情况,有两条路可以执行,最后又回归同一个task。原创 2024-06-18 17:24:08 · 202 阅读 · 0 评论 -
linux上python代码docx转pdf
这边需要吧docx转成pdf,记录下。首先linux上需要安装对应lib。原创 2024-06-06 17:25:25 · 423 阅读 · 0 评论 -
Flask启动重复注册schedule问题
最近flask里面新加个schedule任务,但是启动的时候看log,schedule被注册了两次。导致每次任务都会被执行两次,查了下解决方案,记录。原创 2024-06-03 14:13:02 · 301 阅读 · 0 评论 -
python 使用flask_httpauth和pyjwt实现登录权限控制
这样的话,只需要引入之前定义的auth_provider,然后在需要登录之后才能访问的api上加入@auth_provider.login_required,当然auth_provider这个变量名是自己取的,你怎么定义的就用什么就行了。这样的话访问该api的时候就会自动去拿jwt验证。登录的方法可以看到,验证密码之后就会生成jwt返回 ,前端接到这个jwt之后,就会放在之后的请求内。jwt过期时间你可以根据需求自己定义。最近需要用到,学习了一下记录。实现验证token的方法,生成密码的方式在这里。原创 2024-04-26 15:19:59 · 948 阅读 · 1 评论 -
python代码报错requests.exceptions.SSLError
滚动到最后面,然后用编辑器打开一开始导出的证书,然后粘贴到cacert.pem最后面,保存退出。直接浏览器访问报ssl错误的网站,然后找到证书,选择导出。然后在cmd里面执行,去查看certifi的位置。找到之后用文本编辑器打开,我用的vscode。原创 2024-04-25 17:15:05 · 271 阅读 · 1 评论 -
ubuntu 卸载miniconda3
一开始安装路径错了,需要重新安一次,就一起记录了。原创 2024-03-08 16:19:28 · 909 阅读 · 0 评论 -
ubuntu安装miniconda3管理python版本
这边需要使用miniconda3来管理ubuntu里面的python,记录。原创 2024-03-08 15:54:32 · 1372 阅读 · 0 评论 -
PIP 绑定国内源
今天给新PC部署环境,pip install 太慢了,又忘记具体怎么配了,就查了下,结果看很多blog都是去手动新建pip.ini,太麻烦了。找到了之前的配置方法。直接cmd里面执行就可以了。原创 2023-04-06 18:05:24 · 428 阅读 · 0 评论 -
flask log 报错raise ValueError(‘Unable to configure handler ‘ValueError: Unable to configure handler
其实这个问题是你配置的filename,也就是生成log的文件地址,他的父文件夹不存在导致的,例如我是logs/log,我的根目录下没有logs这个文件夹,现在就需要手动创建一个logs文件夹,就可以解决这个问题了。配置完log,启动项目的时候报错,查了下,记录。我的logging.json是这样。启动项目之后,却报错。原创 2024-01-19 16:28:22 · 939 阅读 · 1 评论 -
pytest log配置
发现用print在console里面打不出来,所以查了一下关于pytest的log配置,记录。就可以在pytest中在console中看到print打印的东西呢。如果你只需要使用print打印日志的话,就只需要这样写。首先需要在根目录新建 pytest.ini。然后在test中这样就可以使用了。但是如果需要log配置的话。原创 2024-01-19 16:22:45 · 608 阅读 · 0 评论 -
Flask 3.x log全域配置(包含pytest)
最近使用到flask3.x,配置了全域的log,这边记录下首先需要创建logging的配置文件,我是放在项目根目录的,原创 2024-01-19 16:12:58 · 783 阅读 · 0 评论 -
Flask+ Dependency-injecter+pytest 写测试类
最近在使用这几个在做项目,因为第一次用这个,所以不免有些问题。总结下踩的坑。原创 2024-01-12 16:27:56 · 560 阅读 · 0 评论 -
sqlalchemy 监听所有实体插入以及更新事件
重要的就是@event.listens_for,这里。监听公共类,所有继承了它的实体的插入更新都会被监听到,然后就是对里面的字段进行统一的操作就行了,不用再每次插入或者更新进行手动修改了。这边使用的是flask+dependency-injecter+sqlalchemy,有一个公共类,想插入或者更新的时候对公共类某些字段进行统一操作。这个是公共类:包括一些基础字段,所有的实体都会继承这个类。原创 2024-01-12 16:15:57 · 896 阅读 · 0 评论 -
sqlalchemy 事务自动控制(类java aop)
然后comtextmanger里面就是我们的处理代码了,我们主要依靠with代码块来控制,在yield之前的属于__init__,在yield之后属于__exit__,也就是当with代码块结束之前,如果发生任何报错,我们都会进行rollback操作,并且raise(这部分需要error handler来做了,这里就不赘述了),然后如果什么错误都没有发生,就检测transaction是否还是active,如果是就commit,然后关闭session。然后在repo里面写具体代码就行了。原创 2024-01-11 14:42:53 · 676 阅读 · 0 评论 -
UserWarning: Field “model_server_url“ has conflict with protected namespace “model_“.
我看到有人提出把pydantic 降级来修复问题,但是我不确定这样做会不会影响mlflow某些功能,而且这个告警也没有影响到我现有的功能,就暂时没有做。我这边是项目里使用到了mlflow,启动项目的时候老是有这个两个告警,虽然没有影响到什么功能,但是每次启动都看到。让new bing和chatGPT修复了半天也依然不行,就感觉出来了可能是个bug了,果然在github上看到了,有很多人也遇到了这个问题。原创 2023-12-19 15:20:10 · 1753 阅读 · 0 评论 -
python项目中获取相对磁盘的绝对路径 os.path.abspath
这边需要配置一个相对于磁盘的绝对路径。这个路径在我的工作路径下,但是发布的环境不同,这个路径前缀也就不一样呢,于是查了下。然后用log吧这个打印出来就可以看到是相对于磁盘的绝对路径了。例如你需要配置的路径是是。原创 2023-12-14 15:39:54 · 465 阅读 · 0 评论 -
Python 中 Thread 线程的用法
线程是一种并发执行的方式,可以让你的程序在等待某些事件的同时,执行其他的任务。这样,线程就会开始运行,调用指定的函数,并传入相应的参数。线程的运行是异步的,也就是说,它不会阻塞主线程的执行,而是在后台进行。- alive: 线程的存活状态,是一个布尔值,表示线程是否还在运行。- name: 线程的名称,可以在创建时指定,也可以通过setName()和getName()方法修改和获取。这样,主线程就会暂停,直到线程运行完毕。- ident: 线程的标识符,是一个整数,可以通过ident属性获取,但不能修改。原创 2023-12-07 15:46:15 · 650 阅读 · 0 评论 -
Flask 3.x + dependency-injector 4.xAttributeError: ‘Provide‘ object has no attribute ‘xxxx‘
我遇到当然不属于这里的任何一种,我发现我在整理项目结构的时候,把blueprint往目录深处放了,之前是和application.py同一目录,现在出问题了,就怀疑是目录的问题,移出来之后果然不报错了.然后一点一点排查,发现了问题根源,那就是。还有一种情况就是在Containers 中定义的问题,这里我就不展示了,只是把Containers 贴出来,这里一般就是忘记定义而已,很好检查。这就是初学的时候很容易犯的一个错误,编译器不会告诉你错了,启动项目也没问题,知道call到这个api了就会报这个错.原创 2023-12-05 21:21:45 · 641 阅读 · 0 评论 -
Flask 自定义template和静态文件路径
这边使用flask的时候希望规范下路径,就需要重新移动默认的template的路径,所以就需要自定义路径了,查了下。就直接在app.py里面进行修改,加两个属性,第一个就是放html的第二个就是放css/js那些静态文件的。修改完记得重新启动,热部署无法加载这个修改。原创 2023-12-04 17:23:42 · 1101 阅读 · 0 评论 -
pyenv local x.xx.x不生效
3.需要保证pyenv的path环境变量比之前本地的python优先级要高(我就是这个问题,把pyenv在path中变量提到本地原来python之前就可以了)我本地原来有个python,之后用pip安装了pyenv,使用pyenv新安装了一个python,设置某个local的时候发现不生效。这种情况需要检查3个地方。2.需要重新开一个cmd。1.有没有生成这个文件。原创 2023-11-27 17:11:47 · 741 阅读 · 0 评论 -
pyenv修改国内镜像
pyenv安装发现很慢,默认是中心库,需要修改下国内镜像。这两个镜像二选一,然后重开一个cmd,然后执行。更新下,然后就可以使用国内镜像了。原创 2023-11-27 16:57:49 · 2383 阅读 · 0 评论 -
python中pprint()与print()
这里有两个对象在一个arry里面,普通的print直接全部打印出来,而pprint则是会把每个独立的对象进行换行,增加可读性。平常经常使用print(),今天突然看到pprint(),好奇查了下,记录。统而言之,pprint()更适合打印结构化数据,对于可读性有很大的提升。原创 2023-11-24 17:45:51 · 487 阅读 · 0 评论 -
MLFlow 入门(Model管理,生命周期管理)
MLflow是一个开源平台,专门为了帮助机器学习的从业者和团队处理机器学习过程中的复杂性而设计的。MLflow关注机器学习项目的完整生命周期,确保每个阶段都是可管理的、可追溯的和可复现的。MLflow目前提供了几个关键的组件:MLflow AI Gateway:通过安全、简单的API与最先进的LLM进行交互。MLflow LLM Evaluate:简化LLM和提示的评估。MLflow Tracking:记录和查询实验:代码、数据、配置和结果。原创 2023-11-24 17:24:07 · 2239 阅读 · 0 评论 -
python 检查文件夹是否存在并且创建
【代码】python 检查文件夹是否存在并且创建。原创 2023-10-27 17:35:49 · 311 阅读 · 0 评论 -
python yield用法
实际使用中可以这样使用,例如我把df按照半小时进行分割,然后分别取处理每半小时的数据。使用的时候就会返回一次值。用法和ts中的差不多。原创 2023-10-27 17:11:38 · 254 阅读 · 0 评论 -
AttributeError: Can only use .dt accessor with datetimelike values
这是我对从elastic拉出来的df里面一列时间进行操作的时候报错。其实只需要转成datetime就可以了。这是我的这部分的代码。原创 2023-10-27 16:42:14 · 358 阅读 · 0 评论 -
python 从mssql取出datetime2类型之后格式化
所以格式化的话就需要变成秒为单位,他们之间是10的9次方倍。所以先除以1e9之后用datetime.datetime.fromtimestamp()转换之后再format就行了。我mssql是datetime2类型,用df取出之后发现是个纳秒的int(1698419713000000000 这种)原创 2023-10-27 15:53:41 · 113 阅读 · 0 评论 -
python nltk 备份与恢复
他会把一些需要的资源下载并自动解压。然后就是我们的备份与恢复环节,首先需要找到他解压下载在哪里了,执行该命令。在目的端执行 (如果是pipenv 虚拟环境需要先 pipenv shell 进入虚拟环境之后再执行)他就会打印出一些路径,你就挨个去看这些路径,哪个里面是有nltk_data文件夹的。然后把这个文件夹上传到你需要恢复的目的端去,具体复制的目录也是异曲同工,首先download nltk一些包使用类似以下命令,打印出的path,你放进任意一个就可以了。具体可以看我另一篇blog。原创 2023-10-23 16:20:26 · 103 阅读 · 0 评论 -
Python DataFrame 根据时间进行切分/分割/groupby数据
【代码】dataframe 按照日期进行拆分文件。原创 2023-09-11 16:38:46 · 1556 阅读 · 0 评论 -
文本NLP噪音预处理(加拼写检查)
是用来检测拼写正确的,如果你的文本里面可能包含非正确拼写的单词,那就忽略它,这种连续的单词链接成的字符串被拼写检查剔除,只有保持驼峰情况下,才能用。成功把他分成单独的单词,所以最后再处理大小写。最近总结修改了下预处理方法,记录下。首先download需要的依赖。这里最后再转小写是因为防止。原创 2023-08-02 17:16:39 · 1188 阅读 · 0 评论 -
DataFrame抽取随机数据
最近有个需求需要从df里面随机抽取随机的数据,之前没用过记录下。当然也可以针对某列进行抽样。原创 2023-08-01 16:01:50 · 480 阅读 · 0 评论 -
DataFrame中按某字段分类并且取该分类随机数量的数据
最近有个需求,把某个df中的数据,按照特定字段分类,并且每个分类只取随机数量数据,这个随机数量需要有范围限制。这里面的startNum是起始数量,如果该分类都没达到起始数量的话,就直接取该类的全部数据。原创 2023-08-01 15:50:14 · 1004 阅读 · 0 评论 -
venv、pyvenv、pyenv、virtualenv、virtualenvwrapper、pipenv 等有什么区别?
venv、pyvenv、 和pyenv都是可用于创建隔离的 Python 环境的工具。virtualenv和virtualenvwrapper是类似的工具,也可以创建隔离的 Python 环境。是一个与Python 包管理器pipenv结合的工具。最近写了几个blog,都有点混淆了这几个东西,专门查了下区别,记录下。原创 2023-07-13 17:26:40 · 743 阅读 · 0 评论 -
使用pyenv管理python版本
安装完成后,您需要设置您的shell环境变量,以便pyenv可以正常工作。这样,您就可以开始使用pyenv来安装和管理Python版本了。要使用pyenv,在CentOS系统上,您需要先安装一些依赖包,然后从GitHub上下载和安装pyenv。如果觉得太麻烦,并且你才搭好,就可以直接删除该python再从重新安装一次python就行了。最近部署python项目上vm,需要管理python版本,需要使用到pyenv记录下。这里的安装目录你可以看他的console里面打印的值,把xxx改成你的路径就行了。原创 2023-07-13 15:10:00 · 585 阅读 · 0 评论