atom-community / atom-community/ide-python
Third-party module classes not detected when setting PYTHONPATH in a shell file
- 主要语言
- JavaScript
- 星标
- 238
- 派生
- 40
- PR 合并指标
- 30 天内没有已合并 PR
描述
I've defined a shell script inside the root of my project, called `run.sh`. What it does is, adds two paths relating to a third-party module (GAMS Python API), to `PYTHONPATH` environment variable, and then calls python with all arguments given to the script:
```bash
#!/bin/bash
export PYTHONPATH=/opt/gams/gams34.3_linux_x64_64_sfx/apifiles/Python/api_39/:"$PYTHONPATH"
export PYTHONPATH=/opt/gams/gams34.3_linux_x64_64_sfx/apifiles/Python/gams/:"$PYTHONPATH"
export PYTHONPATH="$(pwd)":"$PYTHONPATH"
python3 $@
```
In the package settings, I've configured the python path to `./run.sh`, for the script to be called and the module being detected by the package.
However, after updating the package version to 1.9.4, it no longer detects the classes inside the `gams` module:

Note that, _the script works perfectly with 1.9.3_. I downgraded the package and then upgraded it, and it seems it is reproducable for me.
(I don't think the system specs are needed, as I just mentioned, the issue is new in 1.9.4, with exact set of packages and Atom version)
贡献指南
调研方向
首先使用提供的 run.sh 重现缺失的 GAMS 类检测,并比较 package 版本 1.9.3 和 1.9.4。跟踪 package 如何调用配置的 Python 路径以及读取 PYTHONPATH。使用 run.sh 时能够再次检测到 gams 模块中的类,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- bash, javascript, python
- 领域
- tooling
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 25/100