atom-community / atom-community/ide-python

Third-party module classes not detected when setting PYTHONPATH in a shell file

未关闭
#380 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
good first issue
主要语言
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:

![Screenshot from 2021-08-05 14-16-19](https://user-images.githubusercontent.com/14151550/128329783-65a92a33-58d1-48a3-b52f-95a082bbafb3.png)

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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。