atom-community / atom-community/ide-python

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

オープン
#380 コメント 0 件 リアクション 0 件 担当者 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 クラスが検出されない問題をまず再現し、パッケージのバージョン 1.9.3 と 1.9.4 を比較します。パッケージが設定された Python パスをどのように呼び出し、PYTHONPATH をどのように読み取るかを追跡します。run.sh の使用時に gams モジュール内のクラスが再び検出されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
bash, javascript, python
領域
tooling
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。