atom-community / atom-community/ide-python

Ability for completion/going-to-definition for symbols from virtualenv bound to specific project

オープン
#128 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
JavaScript
スター
238
フォーク
40
PR マージ指標
30日以内にマージされた PR はありません

説明

I use [pyenv](https://github.com/pyenv/pyenv) to keep multiple python installation (py2, py3 etc.)

And I use [pyenv-virtualenv](https://github.com/pyenv/pyenv-virtualenv) to maintain separate python environments for different projects (i.e. virtualenv).

All python versions and virtualenvs live in directory `~/.pyenv/versions`.

```shell
$ ls ~/.pyenv/versions
2.7.13 2.7.14 3.6.3 3.6.4 3.7.0 project-x project-y

$ ~/.pyenv/versions/3.7.0/bin/python -V
Python 3.7.0

$ ~/.pyenv/versions/project-x/bin/python -V
Python 2.7.14
```

All my projects' code live in `~/workspace`:

```shell
$ ls ~/workspace
project-x project-y
```

I always make my project name as the same as its virtualenv name, you see, there are `project-x` and `project-y`.

I also place a file named of `.python-version` under project root dir, [let the magic automatically activate the specific virtualenv on entering project dir](https://github.com/pyenv/pyenv-virtualenv#activate-virtualenv).

```shell
$ cat ~/workspace/project-x/.python-version
project-x

$ cd ~/workspace/project-x
(project-x) $
```

I use [Atome Project Manager](https://atom.io/packages/project-manager) to remember my project dirs, So I can do quick switch from and to different editor windows, each window for one project.

---

So I want **IDE-python** call the right python binary and do completion/going-to-definition from the right python environment, Possible?

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず、プロジェクトルートの .python-version と pyenv パスを再現用のセットアップとして使用し、IDE-python が Atom プロジェクトのインタープリターをどのように選択するかを追跡します。project-x と project-y について、completion と go-to-definition が共有の Python インストールではなく、選択されたプロジェクトの virtualenv からシンボルを解決できれば完了です。

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

評価

技術スタック
python
領域
developer-experience, tooling
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

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

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