UV项目中[project.scripts]无法激活venv环境,脚本运行报错
解决方法
1. 确保包结构合规
你的项目根目录和内部代码目录同名,必须保证代码目录是合法的Python包:
- 在
trapallada/(内部代码目录)下添加空的__init__.py文件 - 在
trapallada/xsa/目录下也添加空的__init__.py文件
最终结构应该是:
trapallada/ # 项目根目录 ├── pyproject.toml ├── README.md └── trapallada/ # Python包目录 ├── __init__.py └── xsa/ ├── __init__.py └── util.py
2. 修改脚本名称配置
pyproject.toml里的脚本名带.py后缀可能导致路径解析冲突,去掉后缀:
[project.scripts] trap_download_obs = "trapallada.xsa.util:cl_download_observations"
3. 重新执行可编辑安装
先卸载已安装的包,再重新安装:
uv pip uninstall trapallada uv pip install -e .
4. 运行脚本的正确方式
激活虚拟环境后,直接执行不带路径的脚本名:
source .venv/bin/activate trap_download_obs
如果仍有问题,可尝试在非项目根目录下运行脚本,避免同名目录导致的导入优先级冲突。
内容的提问来源于stack exchange,提问作者manu
相关产品推荐
相关产品推荐

