知识点
- python 模块的入口文件是
setup.py
技巧
记录了日常开发中遇到的各种问题和技巧
虚拟环境
-
venv (opens in a new tab) 是 Python 3.3 之后内置的虚拟环境工具
-
conda (opens in a new tab) 是 Anaconda 提供的虚拟环境工具miniconda (opens in a new tab): 占用更小
-
Poetry: 类似 npm 的依赖管理,支持 lock 文件
镜像地址
https://pypi.tuna.tsinghua.edu.cn/simple (opens in a new tab)
pip install xxx -i https://pypi.tuna.tsinghua.edu.cn/simple
遇到的问题
- 模块依赖路径错误:在嵌套的目录中引用同目录文件 原因:项目是安装启动路径来匹配的。
# bad
from refresh import Refresh
# good
from a.b.refresh import Refresh
- 打包的
whl
文件,安装后一直找不到这个包。 原因:streamlit
项目中的MANIFEST.in
的路径错误,但是whl
还是正确输出了,也没有报错。导致 debug 时间比较久。
pip
Nexus 3 (opens in a new tab): 管理 PyPIregistry
Pypiserver
使用 Docker 启动一个免认证的服务
docker run -d -p 8080:8080 -v ~/packages:/data/packages pypiserver/pypiserver:latest run -a . -P .