atom-community / atom-community/ide-python
Ability for completion/going-to-definition for symbols from virtualenv bound to specific project
- Lenguaje dominante
- JavaScript
- Estrellas
- 238
- Forks
- 40
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
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?
Guía de contribución
Línea de trabajo
Comienza rastreando cómo IDE-python selecciona el intérprete para un proyecto de Atom, usando el .python-version y la ruta de pyenv de la raíz del proyecto como configuración de reproducción. Se considera completado cuando completion y go-to-definition resuelven símbolos desde el virtualenv del proyecto seleccionado para project-x y project-y, en lugar de hacerlo desde una instalación de Python compartida.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- developer-experience, tooling
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100