- 博客(260)
- 资源 (1)
- 收藏
- 关注

原创 使用Python脚本来给ubuntu换源
1. 读取镜像列表文件/etc/apt/sources.list的内容,判断文件中是否包含mirror_target,若已包含则什么也不做,否则进行下一步。3. 把/etc/apt/sources.list中,所有http://xxx/的内容替换为mirror_target,最终的文件内容见文章底部。Ubuntu18(清华源下载的vagrant镜像版)换源后的/etc/apt/sources.list。## 系统有python(python2或python3都可以)的情况。一行命令搞定(换华为源。
2018-07-17 14:51:48
3937
1
原创 uv换源:一行命令搞定
方法二:新建或修改全局配置文件(Linux和MacOS一般是~/.config/uv/uv.toml,Windows一般是%APPDATA%/uv/uv.toml,路径不存在的话直接手动创建即可)方法三:修改当前项目的pyproject.toml。如何给python的包管理工具uv换源?附:方法二脚本版,一行命令搞定。方法一:设置环境变量。
2025-03-26 18:30:00
471
原创 pdm self update 504 gateway timeout
经过层层排查,发现是httpx在windows环境读取了注册表里的ProxyServer,但是没有读取ProxyOverride,导致内网地址走了代理,从而引起了响应超时。症状:使用的是内网环境的pypi mirror,本地Windows有这个问题,服务器Linux系统没有这个问题。解决:从注册表里复制ProxyOverride的值,新建系统变量NO_PROXY,并粘贴进去。时,报了504 gateway timeout的错误。红军不怕远征难,万里长城今犹在,不见当年秦始皇。
2025-03-21 22:00:00
287
原创 The following modules are *disabled* in configure script:_sqlite3
apt install libsqlite3-dev解决sqlite3 disabled问题
2025-03-05 11:37:19
155
原创 httpx.AsyncClient报错ProxyError: 504 Gateway Time-out
同一个URL,用requests.get能正常获取网页内容,用httpx.get和httpx.AsyncClient.get就不行,要么就报超时,要么就报ProxyError: 504 Gateway Time-out。原因:httpx在Windows下,默认读取系统的代理设置,然后它却不能读到跳过代理的白名单,于是导致不该走代理的网址走了代理,从而引发代理错误。解决:加上trust_env=False即可。
2025-01-02 20:38:33
643
原创 不会吧,不会吧,都已经2024了,还有人在用os.path.join?不知道pathlib.Path有多香吗?
忍不住吐槽了一下os.path,并强力推荐使用Python3.4以后加入标准库的pathlib。1. 获取上级目录、上上级目录。2. 遍历某个路径下的某类文件。[庆祝] 打个广告:最新忙着个。项目提PR,欢迎各路英雄来怼~
2024-12-25 18:31:47
409
原创 Python给自定义类添加__eq__和__hash__使其添加到set后能去重
如果希望集合在add的时候,就对相同name的Water对象去重,可通过给Water类添加__hash__和__eq__魔法方法实现。的输出结果是5 (‘百岁山‘、’农夫‘ * 2 、’怡宝‘ * 2)这时候,执行结果是3。
2024-12-14 00:31:57
167
原创 像`npm i`作为`npm install`的简写一样,使用`pdm i`作为`pdm install`的简写
BTW: poetry的话,可以用这个:pipx inject poetry poetry-plugin-i。
2024-11-01 20:20:21
387
原创 [TypeError]: type ‘AbstractProvider‘ is not subscriptable
vi /Users/mac10.12/.local/pipx/venvs/pdm/lib/python3.11/site-packages/pdm/resolver/providers.py打开该文件,发现报错的是resolvelib库的AbstractProvider,猜测是该库没有升级到最新版导致的。
2024-10-31 22:07:29
256
原创 图文展示如何在github上贡献合并请求
登录github -> 打开目标仓库 -> 点击fork按钮 -> 复制分叉出来的新仓库地址 -> 克隆到本地 -> 修改代码后提交 -> 网页上点击Contribute -> 弹窗里点击Open pull request -> 跳转出来的新页面里点击Create pull request。2. 复制分叉出来的新仓库地址 -> 克隆到本地 -> 修改代码后提交。1. 登录github -> 打开目标仓库 -> 点击fork按钮。(可能需要编辑title和description)
2024-10-31 10:15:16
598
原创 uv sync失败HTTP status server error (504 Gateway Timeout) for url (http://...)
排查了好一会,最终才发现是本地的安全防护软件,限制了uv.exe的网络访问权限。研究了一下,要解开这个权限,还挺麻烦的。本来都打算放弃uv了,捣鼓其他东西的时候,意外地发现还可以通过在服务器更新uv.lock,本地export成requirements.txt再用pip安装的方式来用上它。试了一下,速度飞快,确实可以考虑用它来替代poetry了。一、Python3.10+二、3.10以下版本。
2024-10-29 22:01:24
769
原创 error: Distribution `psycopg-binary==3.2.2 can‘t be installed for the current platform
当前系统在镜像源里,没有psycopg-binary==3.2.2的安装包。于是只需把pyproject.toml中的版本依赖改成
2024-10-27 14:24:41
307
2
原创 Python项目内网环境pdm install超时httpx.ReadTimeout: timed out
场景:内网环境,阿里源和清华源都不可以达,但是已经配置了pip.conf和PIP_INDEX_URL,使用pip install xxx是可以正常安装pypi.org上的包的。然后使用pdm install项目依赖却报错了,加-v参数后,显示错误详情是httpx.ReadTimeout: timed out。2. 安装依赖(大致相当于执行pdm install)1. 创建和激活虚拟环境。
2024-10-23 23:06:45
427
原创 Windows系统PyCharm右键运行.sh文件
2. 即使配置成sh.exe也只能通过在Terminal中输入脚本路径来运行它,无法做到在左侧文件导航目录那里,点右键直接运行。最终,我把所有.sh脚本全部,全部改成了.py文件,然后使用subprocess.run来运行shell命令。1. 有些命令在Linux中能正常运行,Windows中却不能,例如xargs、source、&&等。原文件 -- scripts/format.sh。修改后 -- scripts/format.py。
2024-10-23 22:48:38
839
原创 SyntaxError: unterminated string literal (detected at line 1)
SyntaxError: unterminated string literal (detected at line 1)
2024-10-23 17:43:52
1049
原创 Geo.__init__() got an unexpected keyword argument ‘title_color‘
解决Geo.__init__() got an unexpected keyword argument 'title_color':使用兼容性写法来初始化Geo类。
2024-09-22 16:48:12
395
原创 解决ruff(flake8)报E402 Module level import not at top of file的问题
解决:把后面的import放到suppress里。执行命令:ruff check demo.py。
2024-09-19 22:30:01
338
原创 RuntimeError: Inplace update to inference tensor outside InferenceMode is not allowed.
查看了result的源码(ultralytics.engine.results.Results)并在IPython中试了下,发现可以通过修改函数plot来实现目的。优化代码的过程中,发现还有更简洁的方式:定制predictor。
2024-09-15 12:26:30
924
原创 把Django字典格式的数据库配置转成tortoise-orm的URL格式
注:如果密码里含有特殊字符,需要使用标准库urllib.parse.quote_plus进行转义。2. 在命令行中使用。
2024-09-07 15:09:09
727
原创 YOLOv8 只检测人 只画框不要标签
3. 标签中去掉置信度:result.plot(conf=False)1. 只检测人:predict的时候指定参数classes=[0]2. 只画框不要标签:plot的时候传入labels=False。
2024-09-06 11:02:01
839
原创 pdm定制install的别名i
poetry的话,MacOS和Linux可使用carstino里的.pipi.py文件,Windows的待研究。就像前端的npm一样npm i是命令npm install的简写。我希望后端的pdm命令和poetry也支持简写i。
2024-08-30 21:02:27
270
原创 Python3.11使用labelimg
标注工具labelImg的作者转战label-studio,并把它归档不再继续开发了,所以新版Python是不被支持的。
2024-08-27 22:07:23
546
1
原创 Python使用devtools提高调试效率
其中第一行是print(r)的输出,另外两行是debug(r)的输出,可以看到debug会打印更多的信息。可以看到输出的信息里,自动加了冒号,并打印出了以秒为单位的程序段耗时。## 2. 打印程序段耗时。## 1. 打印调试信息。
2024-08-23 11:49:34
322
原创 把MySQL的数据导入到PostgreSQL
CentOS7系统上有一个MySQL8的数据库,使用mysqldump -uroot -p dbname > bak.sql 导出的文件有1.3G。现打算把它全量导入到同一个机器上的postgresql(使用yum安装的,版本为9.2)
2024-08-14 21:03:37
583
原创 Python版grpc使用asyncio
参考了官方示例:https://github.com/grpc/grpc/blob/master/examples/python/helloworld/async_greeter_server_with_graceful_shutdown.py。
2024-08-11 12:42:26
350
原创 Centos7 ImportError: libssl.so.3: cannot open shared object file: No such file or directory
2. 另一台重新编译了也还是不行,find / -name libssl.so.3也找不到文件,由于是内网环境,openssl也无法升级到3.0以上版本,最后是去别人服务器拷贝libssl.so.3和libcrypto.so.3这两个文件,然后丢到/lib64/目录里,问题才解决(注:如果手头上没有其他服务器,可以用anaconda和pyenv应该也能解决问题)1. 有一台是重新编译,./configure后面不带任何参数,然后再make和make altinstall,问题就解决了。
2024-08-05 11:57:23
2260
原创 ubuntu22 安装和启动minio 并用Python上传下载文件
点击左侧Access Keys,在新页面中点击Create access key,进入下一个页面后,点Create。在浏览器打开http://your-server-ip:9099就能看到minio的管理页面了。### 使用Python SDK将远程文件下载到本地。创建客户端用的access keys。设置用户名、密码、端口等环境变量。启动服务并设为开机自启动。配置service文件。
2024-07-29 17:00:59
664
原创 python使用rich.progress打印彩色进度条
常规的同步方法和for循环的进度,使用tqdm能很直观地展示进度;而一些异步协程或难以预估进度的,可以考虑使用rich.progress。建议耗时比较短,三秒内能搞定的,用spinner;需长时间等待的,用percentbar。案例一:左侧展示旋转的小圈圈。
2024-07-25 18:35:10
754
原创 MacOS升级指定Python版本的pip
系统默认是Python2.7,已经通过brew install python@3.11 python@3.12安装了多个版本的Python。这就导致,每次使用python3.12 -m venv venv创建虚拟环境之后,还需要pip install -U pip升级。执行:python3.12 -m pip --version。用的是Python3.11的pip,且已是最新版本。执行:pip --version。显示3.12里的pip不是最新的。
2024-07-01 22:56:42
710
原创 Python使用defaultdict简化值为list的字典
而my_defaultdict['not-exist-key']则会返回空列表。my_dict['not-exist-key']这个会抛出KeyError。少了if key not in xxx的判断,代码更加简洁。
2024-06-30 16:49:23
257
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人