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 クラスが検出されない問題をまず再現し、パッケージのバージョン 1.9.3 と 1.9.4 を比較します。パッケージが設定された Python パスをどのように呼び出し、PYTHONPATH をどのように読み取るかを追跡します。run.sh の使用時に gams モジュール内のクラスが再び検出されれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- bash, javascript, python
- 領域
- tooling
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100