Erstellen Sie mit Neovim eine moderne Python-Umgebung

Hintergrund

Nachtrag

Es ist schon eine Weile her, seit ich diesen Artikel geschrieben habe. Trotzdem fliegen manchmal gute Dinge und mit einem Gefühl der Dankbarkeit, Das vimrc hat sich seit der Erstellung des Artikels erheblich geändert, und es tut mir leid, dass der Inhalt noch alt ist. Deshalb habe ich ihn hinzugefügt. Ich würde mich freuen, wenn Sie sich auf die Einstellungen der einzelnen Plug-Ins beziehen könnten. Wenn Sie alles eingerichtet haben, wird es so sein. Screen Shot 2017-09-06 at 22.11.38.png

Verpflichtend

Nach meinem Eintritt in das Unternehmen habe ich alle vim-Einstellungen für neovim neu geschrieben. ~~ Wenn Sie jetzt eine Umgebung erstellen möchten, machen wir es mit neovim, das sich reibungslos bewegt. ~~ Der Plug-In-Unterstützungsstatus von vim8 hat sich geändert und funktioniert mit vim8 mit Ausnahme von deoplete. Aber ich bin neovim, weil ich deoplete verwenden möchte.

Informationen zur Installation von neovim finden Sie in früheren Artikeln. Ich habe es für Ubuntu geschrieben, aber für Mac ist es fast dasselbe. Sie sollten in der Lage sein, "apt-get" durch "Brew" zu ersetzen Einstellungen für zsh + neovim unter Ubuntu

Einführungs-Plug-In

Wenn Sie Python in vim schreiben möchten, sind einige Plugins ein Muss. Die diesmal eingeführten Pragins sind wie folgt.

dein.vim Shougo/dein.vim

Ein Plug-In-Manager, der beim Installieren und Aktualisieren von Plug-Ins hilft, ist für die Verwaltung vieler Plug-Ins unerlässlich. Früher habe ich neobundle verwendet, den Vorgänger von dein.vim, aber ich habe den Job gewechselt, als ich den Job gewechselt habe. Jetzt, da Sie Konfigurationsdateien mit "* .toml" erstellen können, sind Plugin-Abhängigkeiten und Einstellungen für das verzögerte Laden viel einfacher zu lesen als in der "neobundle" -Ära. Dark Mimuou ist der Vimmer, dem ich am meisten verpflichtet bin. Ich bin nicht der einzige, der das glaubt.

Einstellungsbeispiel

let s:dein_dir = expand('$CACHE/dein')
if dein#load_state(s:dein_dir)
    call dein#begin(s:dein_dir)
    call dein#load_toml('~/.vim/rc/dein.toml',          {'lazy': 0})

    call dein#load_toml('~/.vim/rc/dein_lazy.toml',     {'lazy': 1})
    call dein#load_toml('~/.vim/rc/dein_neo.toml',      {'lazy': 1})
    call dein#load_toml('~/.vim/rc/dein_python.toml',   {'lazy': 1})
    call dein#load_toml('~/.vim/rc/dein_go.toml',       {'lazy': 1})
    call dein#load_toml('~/.vim/rc/dein_frontend.toml', {'lazy': 1})
    call dein#end()
    call dein#save_state()
endif

Zusammen mit den aufgeblähten Dein-Einstellungen werden die Plug-In-Einstellungen von Toml verwaltet.

Dein.toml ohne verzögertes Laden Dein_lazy.toml, das an mehrere Dateitypen und verzögertes Laden gebunden ist Dein_ {Dateityp} .toml zum verzögerten Laden eines einzelnen Dateityps Es wird gesagt.

denite.nvim

Shougo/denite.nvim

Wird hauptsächlich als Datei-Launcher verwendet. Aber das ist nicht alles. denite ist eine integrierte Plattform zum Auflisten, Filtern und Bearbeiten von allem. In meinem Fall besteht die Hauptsache darin, die Liste der Dateien im Projekt anzuzeigen → eingrenzen → öffnen und ~~ Grep nach der Zeichenfolge in der Datei suchen ~~ (Da der Inhalt des System-Grep-Befehls in QuickFix ausgegeben wird, verwende ich ihn derzeit. Nicht). Zu den Unterverwendungen gehört das Anzeigen einer Funktionsliste.

Es ist sehr vielseitig, da es nicht nur Dateien, sondern auch alles verarbeiten kann. Es gibt viele Anpassungen wie Sortierreihenfolge, Umschalten der Suchmaschine und des Grep-Befehls sowie die Bedienung des ausgewählten Ziels.

Das Hauptgerät arbeitet nicht nur mit hoher Geschwindigkeit, sondern der Fluss von "Denite Start → Enge → Öffnen" ermöglicht es, Dateien und Zeilen so zu überspringen, als ob sie Ihre eigenen Gedanken widerspiegeln. Es besteht kein Zweifel, dass sich die Bearbeitungsgeschwindigkeit beschleunigt, wenn Sie sie beherrschen.

Andererseits ist die Einrichtung von "Denit" in der Regel kompliziert. Sie müssen es an Ihren Körper anpassen, während Sie die Hilfe lesen. Es wird nicht unmittelbar nach dem Insco explosiv sein.

Einstellungsbeispiel

"Präfix für Denite
nmap [denite] <Nop>
map <C-j> [denite]

"Dateisuche im Projekt
nmap <silent> [denite]<C-P> :<C-u>Denite file_rec -highlight-mode-insert=Search<CR>
"Suchen Sie nach Dateien, die im Puffer erweitert werden
nmap <silent> [denite]<C-B> :<C-u>Denite buffer -highlight-mode-insert=Search<CR>
"Funktionen in der Datei/Suche nach Klassen usw.
nmap <silent> [denite]<C-O> :<C-u>Denite outline -highlight-mode-insert=Search<CR>
"Datei unter Punktedateien_rec Start
nmap <silent> [denite]<C-V> :<C-u>call denite#start([{'name': 'file_rec', 'args': ['~/.dotfiles']}]) -highlight-mode-insert=Search=Search<CR>

"Hoch und runter bewegen<C-N>, <C-P>
call denite#custom#map('normal', '<C-N>', '<denite:move_to_next_line>')
call denite#custom#map('normal', '<C-P>', '<denite:move_to_previous_line>')
call denite#custom#map('insert', '<C-N>', '<denite:move_to_next_line>')
call denite#custom#map('insert', '<C-P>', '<denite:move_to_previous_line>')
"Eingabeverlauf verschieben<C-J>, <C-K>
call denite#custom#map('insert', '<C-J>', '<denite:assign_next_text>')
call denite#custom#map('insert', '<C-K>', '<denite:assign_previous_text>')
"Horizontal aufgespalten`<C-S>`
call denite#custom#map('insert', '<C-S>', '<denite:do_action:split>')
"Vertikal aufgespalten`<C-I>`
call denite#custom#map('insert', '<C-I>', '<denite:do_action:vsplit>')
"Tab geöffnet`<C-O>`
call denite#custom#map('insert', '<C-O>', '<denite:do_action:tabopen>')

" file_Aktivieren Sie die Fuzzy-Übereinstimmung bei der Suche nach rec und schließen Sie bestimmte Dateien vom Suchziel aus
call denite#custom#source(
    \ 'file_rec', 'matchers', ['matcher_fuzzy', 'matcher_project_files', 'matcher_ignore_globs'])

"Angeben von Dateien, die nicht durchsucht werden
call denite#custom#filter('matcher_ignore_globs', 'ignore_globs',
    \ [ '.git/', '.ropeproject/', '__pycache__/',
    \   'venv/', 'images/', '*.min.*', 'img/', 'fonts/'])

Da Denite die höchste Nutzungsrate aller Plug-Ins aufweist, werden Tastenkombinationen verwendet, die so schnell wie möglich getroffen werden können. Infolgedessen habe ich mich für <C-J> <C - *> entschieden. Ich denke, dass es völlig Geschmackssache ist, sich auf der Suche nach Denit auf und ab zu bewegen.

deoplete.nvim

Shougo/deoplete.nvim

Es ist ein Plug-In für die automatische Vervollständigung. Und wieder ist es die dunkle Kraft des dunklen Bimuou. Ich habe das Auto-Complement-System in meinem Kopf erwähnt, weil dieses Plug-In es von anderen Auto-Completion-Plug-Ins unterscheidet.

Zum Beispiel gibt es ein Plug-In namens "jedi-vim" für Pythons Plug-In für die automatische Vervollständigung, aber dies ist ein Plug-In, das nur die automatische Vervollständigung von Python implementiert. Im Gegensatz dazu bietet "deoplete" nur die Basis für die Vervollständigungsfunktionalität, und die eigene Vervollständigung jeder Sprache fügt die Vervollständigung mithilfe einer externen Plug-in-Quelle (so genannt) hinzu, die der Schnittstelle von "deoplete" folgt. Es wird in Form von sein. Beachten Sie, dass die automatische Vervollständigung von Python mit "deoplete-jedi" hinzugefügt wird, das später beschrieben wird.

Wenn ich es so schreibe, denke ich, dass Dark Mimuou kein Plug-In, sondern ein Ökosystem ist.

Einstellungsbeispiel

Derzeit im Bau

vim-airline

vim-airline/vim-airline

Sie sehen modisch aus, indem Sie mit der Statusleiste spielen. Auf die Frage, ob es einen großen Einfluss auf die Bearbeitung haben würde, ist es nicht so viel. Um die Spannung beim Bearbeiten zu erhöhen, benötigen Sie jedoch etwas Cooles wie "Ich bearbeite mit einem coolen Editor".

Es ändert die Farben in den Modi Normal, Einfügen und Visuell, zeigt den zu bearbeitenden Git-Zweig an, zeigt virtualenv in env an und zeigt andere Cursorpositionsinformationen an. Modisch.

Einstellungsbeispiel

"Definieren Sie den Anzeigenamen des Modus(Die Standardeinstellung wird abgekürzt, da sie lang ist und die Breite verringert.)
let g:airline_mode_map = {
    \ '__' : '-',
    \ 'n'  : 'N',
    \ 'i'  : 'I',
    \ 'R'  : 'R',
    \ 'c'  : 'C',
    \ 'v'  : 'V',
    \ 'V'  : 'V',
    \ '' : 'V',
    \ 's'  : 'S',
    \ 'S'  : 'S',
    \ '' : 'S',
    \ }

"Mit Stromleitung abkühlen lassen
let g:airline_powerline_fonts = 1
"Cool durch Angabe eines Farbthemas
let g:airline_theme = 'badwolf'
"Die Registerkartenleiste ist cool
let g:airline#extensions#tabline#enabled = 1

"Benutzerdefinierte Auswahlmatrixanzeige(Die Standardeinstellung ist lang und drückt die Breite zusammen. Minimieren Sie sie daher)
let g:airline_section_z = airline#section#create(['windowswap', '%3p%% ', 'linenr', ':%3v'])

"Zeigen Sie die aktuell aktivierte virtuelle Umgebung an, um festzustellen, ob sie die virtuelle Energie erkennt(vim-Erweiterung von virtualenv)
let g:airline#extensions#virtualenv#enabled = 1

"Von der Linie geändert von Git HEAD+-Ausblenden(vim-Gitgutter-Erweiterung)
let g:airline#extensions#hunks#enabled = 0

"Zeigen Sie Fehler und Warnungen mit dem Fusselwerkzeug an(ALE-Erweiterung)
let g:airline#extensions#ale#enabled = 1
let g:airline#extensions#ale#error_symbol = 'E:'
let g:airline#extensions#ale#warning_symbol = 'W:'

Ich habe es im Grunde genommen geschrieben, um cool zu sein. Da der Dateiname jedoch nicht sichtbar ist, werden Dinge, die Druck auf die Breite ausüben, so weit wie möglich ausgeschlossen.

nerdtree

scrooloose/nerdtree

Es ist ein Explorer, der häufig links von der IDE angehängt wird. Ich dachte, ich würde keinen Datei-Explorer brauchen, wenn ich "denite" hätte. Menschen können sich nicht an viele Dinge erinnern, und es gibt einige Male, in denen Sie Dateien in einer hierarchischen Struktur sehen möchten.

Wenn Sie den Dateinamen für die Eingabe von denite nicht sofort finden, öffnen Sie nerdtree und Sie finden eine Liste sicherer Dateien.

Wenn Sie das nerdtree-git-plugin und den später beschriebenen "Flüchtling" verwenden. Der Dateibearbeitungsstatus wird auf nerdtree angezeigt.

Sagen Sie nicht: "Wenn es so ein Atom oder VsCode ist, nehme ich es von Anfang an." Mein Herz zerbricht.

vim-fugitive

tpope/vim-fugitive

Grundsätzlich bin ich keine Person, die sich unwohl fühlt, wenn ich nicht die ganze Zeit in vim bin, aber ich gehe normalerweise mit Strg + z zwischen Terminal und vim hin und her. Ist das also notwendig? Ich dachte. Es gibt jedoch einen überwältigenden Vorteil gegenüber dem Betrieb im Terminal, nämlich den Befehlen : Gdiff und: Gblame von fugitive.

: Gdiff wird verwendet, wenn Sie denken, dass es vor dem Bearbeiten besser war. In einem solchen Fall mache ich den Vorgang, das Git-Diff anzuzeigen und den Originalcode von dort abzurufen. Zurück zum Terminal → Diff anzeigen → Kopieren → Zurück zum vim und Einfügen Aber Führen Sie ": Gdiff "→ Yank → Paste aus Wird sein. Deutliche Geschwindigkeitsverbesserung.

Was : Gblame betrifft, können Sie beim Betrachten des Codes sehen, was so vor Ort mit einem einzigen: Glame passiert ist, und Sie können auch auf die Protokollinformationen verweisen. Gleiches gilt für : Gdiff, bei dem das Syntax-Highlight von vim angewendet wird. schnell.

Einstellungsbeispiel

nmap [figitive] <Nop>
map <Leader>g [figitive]
nmap <silent> [figitive]s :<C-u>Gstatus<CR>
nmap <silent> [figitive]d :<C-u>Gdiff<CR>
nmap <silent> [figitive]b :<C-u>Gblame<CR>
nmap <silent> [figitive]l :<C-u>Glog<CR>

Ich verwende keine anderen Befehle als die oben genannten, da sie von tig bedient werden.

vim-gitgutter

airblade/vim-gitgutter

Das Hinzufügen, Löschen und Ändern von Code aus dem HEAD von git wird in der Lücke ganz links (gitter) angezeigt. Früher dachte ich, es sei ein Hindernis, aber als ich es einmal benutzt hatte, konnte ich es nicht mehr loslassen.

deoplete-jedi

zchee/deoplete-jedi

Fügen Sie dem oben erwähnten "Deoplete" die automatische Vervollständigung von Python hinzu. Hinter den Kulissen scheint es Pythons statische Analysebibliothek "jedi" (nicht mit Star Wars verwandt?) Zu verwenden, um die Analyseergebnisse an "deoplete" zu übergeben.

Einstellungsbeispiel

Derzeit im Bau

vim-quickrun

thinca/vim-quickrun

Sie können Python-Programme auf vim ausführen. Ich verwende es, um in Buffer auszugeben, wenn das Ausführungsergebnis keinen Fehler enthält, es QuickFix anzuzeigen, wenn ein Fehler vorliegt, und den Code so zu überspringen, wie er ist. Beachten Sie, dass die asynchrone Ausführung nicht von sich aus unterstützt werden kann. Fügen Sie daher vimproc.vim hinzu und legen Sie sie mit vim-quickrun fest.

Es gibt ein ähnliches Plugin, das eine asynchrone Ausführung namens asyncrun mit der Funktion von vim selbst anstelle von vimproc ausführt, aber es scheint, dass es den Pfad gut liest. Ich habe es gerade installiert und nicht benutzt, weil es mir nicht gegeben hat.

Einstellungsbeispiel

"Asynchrone Ausführung mit vimproc
"Anzeige mit Puffer bei Erfolg und QuickFix bei Fehler
"Anpassen der Größe der Ergebnisanzeige usw.
let g:quickrun_config = {
    \ '_' : {
        \ 'runner' : 'vimproc',
        \ 'runner/vimproc/updatetime' : 40,
        \ 'outputter' : 'error',
        \ 'outputter/error/success' : 'buffer',
        \ 'outputter/error/error'   : 'quickfix',
        \ 'outputter/buffer/split' : ':botright 8sp',
    \ }
\}

"Schließen Sie den vorherigen Anzeigeinhalt zum Zeitpunkt der Ausführung&Speichern und dann ausführen
let g:quickrun_no_default_key_mappings = 1
nmap <Leader>r :cclose<CR>:write<CR>:QuickRun -mode n<CR>

Es ist praktisch, das vorhandene Ausführungsergebnis close und file save zur Schlüsselbindung hinzuzufügen. Ganz zu schweigen von vimproc.

~~neomake~~

neomake/neomake

Python hat eine Syntaxregel namens "pep8" und einen statischen Analysebefehl namens "linter", um sie automatisch zu erkennen. neomake führt den Linter asynchron aus und zeigt das Ausführungsergebnis als Marker auf vim an.

In meinem Fall verwende ich "flake8", das neben "pep8" auch "pylint" erkennt. Ursprünglich habe ich ein ähnliches Plugin syntastic verwendet, aber da es keine asynchrone Ausführung unterstützt, habe ich zu neomake gewechselt. Ich tat.

ALE

w0rp/ale

Ich benutze neomake schon eine Weile, aber wenn ich an einem großen Projekt arbeite, sehe ich oft eine beträchtliche Verzögerung (einige Sekunden) beim Reflektieren von Linter. Als ich ALE ausprobierte, auf das ich schon lange geachtet hatte, wechselte ich wegen seiner hohen Geschwindigkeit, seines schlampigen Aussehens, seiner zahlreichen Funktionen und seines Juckreizes zu ihm, und README war höflich.

Einstellungsbeispiel

"Markieren Sie diese Option, um sie in der Fehlerzeile anzuzeigen
let g:ale_sign_error = '⨉'
let g:ale_sign_warning = '⚠'
"Das Nachrichtenformat wird angezeigt, wenn der Cursor auf die Fehlerzeile gesetzt wird
let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
"Fehleranzeigespalte immer anzeigen
let g:ale_sign_column_always = 1

"Führen Sie beim Öffnen der Datei Flusen aus
let g:ale_lint_on_enter = 1
"Führen Sie beim Speichern der Datei Flusen aus
let g:ale_lint_on_save = 1
"Keine Flusenbearbeitung
let g:ale_lint_on_text_changed = 'never'

"fussel Zeigt keine Ergebnisse in der Standortliste und in QuickFix an
"Es ist ziemlich ärgerlich, wenn es draußen ist, und es ist ein Problem, QuickFix neu schreiben zu können
let g:ale_set_loclist = 0
let g:ale_set_quickfix = 0
let g:ale_open_list = 0
let g:ale_keep_list_window_open = 0

"Linter aktivieren
let g:ale_linters = {
\   'python': ['flake8'],
\}

"ALE-Präfix
nmap [ale] <Nop>
map <C-k> [ale]
"Zur Fehlerzeile springen
nmap <silent> [ale]<C-P> <Plug>(ale_previous)
nmap <silent> [ale]<C-N> <Plug>(ale_next)

Um ehrlich zu sein, wenn Sie sich READ ME ansehen, ist es meistens geschrieben, aber ich werde es vorerst veröffentlichen.

vim-virtualenv

jmcantrell/vim-virtualenv

Wenn Sie in Python entwickeln, gibt es viele Szenen, in denen Sie virtualenv verwenden. In diesem Fall müssen Sie auf die Bibliothek usw. verweisen, die nur von virtualenv auf vim installiert wurde. Dieses Plugin ist für eine solche Situation. Wenn Sie virtualenv aktivieren und vim starten, startet vim mit der geladenen virtualenv-Bibliothek.

vim-python-pep8-indent

Vimjas/vim-python-pep8-indent

Der Autoindent von vim entspricht nicht den pep8-Konventionen. Wenn Sie dieses Plug-In installieren, werden zum Zeitpunkt der Zeilenumbrüche automatisch pep8-kompatible Zeilenumbrüche ausgeführt. Praktisch.

#Gewöhnliche Autoindent
format_str = format('Irgendwie:{}Kanya:',
    a, b)
#pep8-kompatibler Autoindent
format_str = format('Irgendwie:{}Kanya:',
                    a, b)

jedi-vim

davidhalter/jedi-vim

Es ist ein Plug-In, das verschiedene Dinge mit jedi macht. Zu Beginn des Aufbaus der Python-Umgebung habe ich sie nicht verwendet, da ich deoplete-jedi für die automatische Vervollständigung verwendet habe. Wenn Sie jedoch einen Tag-Sprung mit demselben Zauber ausführen, während Sie einen Tag-Sprung mit ctags ausführen, war es schwierig, das Ziel aus dem Tag-Sprung auszuwählen, und ich habe es als Code-Referenz eingeführt. Daher werden die meisten Funktionen zerstört und es bleibt nur die Code-Referenz übrig. Immerhin ist es bequem, mit einem Schuss zur Referenzquelle fliegen zu können. Ich habe jedoch das Gefühl, dass vim dadurch schwerer wird, also untersuche ich, ob es einen besseren Weg gibt.

Einstellungsbeispiel

"Ich werde die Einstellungen für die Schlüsselbindung und die automatische Vervollständigung ohne Erlaubnis vornehmen, also zerquetsche sie
let g:jedi#auto_initialization = 0
let g:jedi#auto_vim_configuration = 0
let g:jedi#smart_auto_mappings = 0
let g:jedi#completions_enabled = 0
"Registrieren Sie Schlüsselbindungen für Code-Referenzen
let g:jedi#goto_command = "<Leader>d"

gen_tags.vim

jsfaint/gen_tags.vim

Es gibt verschiedene Plug-Ins für die automatische Generierung von ctags, aber eines davon kommt nicht in Frage, da es die asynchrone Ausführung durch Job und gtags unterstützt. Wenn Sie keine ctags kennen, suchen Sie bitte nach verschiedenen einführenden Artikeln.

Einstellungsbeispiel

let g:gen_tags#ctags_auto_gen = 1
let g:gen_tags#gtags_auto_gen = 1

Aktivieren Sie einfach die automatische Speicherung. Einfach.

vim-test + vim-dispatch

anko-m/vim-test tpope/vim-dispatch

Ein Test-Plug-In wird separat von QuickRun installiert. Weitere Informationen finden Sie im folgenden Artikel. Bereiten Sie die Vim-Testumgebung sehr ernsthaft vor (für Python)

gtags.vim + vim-qfreplace

vim-scripts/gtags.vim thinca/vim-qfreplace

In ctags wird GNU global separat übernommen, da das Referenzziel nicht abgerufen werden kann, selbst wenn die Deklarationsquelle abgerufen werden kann. Holen Sie sich eine Referenz in gtags.vim und ersetzen Sie sie durch qfreplace. Kurz gesagt, es ist ein Refactoring-Tool.

Informationen zur Suche nach GNU global finden Sie im folgenden Artikel. Vim-Code-Sprung mit gtags versuchen

.vimrc

~~ Ich möchte wirklich den Auszug vimrc für jedes Plugin auflisten, aber ich bin erschöpft, also werde ich es aktualisieren, wenn ich wieder Zeit habe. ~~ Siehe unten für vimrc. lighttiger2505/.dotfiles

Schließlich

Es ist einen Monat her, seit ich bei ~~ vim gearbeitet habe, und jetzt habe ich ein viel praktischeres Umfeld als mein Hobby-Level. Deshalb möchte ich diese Gelegenheit nutzen, um es vorzustellen. ~~ Ich arbeite seit einem halben Jahr an vim, aber es ist noch ein langer Weg. Ich werde mich widmen. Wenn Sie diesen Artikel lesen, bin ich ein besserer Vim. Ich bin mir sicher, dass es Leute gibt, die das sagen, also würde ich mich freuen, wenn Sie es mir sagen könnten.

Recommended Posts

Erstellen Sie mit Neovim eine moderne Python-Umgebung
Erstellen Sie mit pyenv eine virtuelle Umgebung für Python
Erstellen Sie eine Python-Umgebung mit ansible auf centos6
[Python] Erstellen Sie mit Docker eine Django-Entwicklungsumgebung
Erstellen Sie mit Sublime Text3 eine Python3-Build-Umgebung
Erstellen Sie eine Python3-Umgebung mit Ubuntu 16.04
Erstellen Sie mit direnv eine Python-Umgebung
Erstellen einer Python-Umgebung mit OSX Elcapitan
Erstellen Sie die Python-Umgebung offline
Erstellen Sie mit IntelliJ schnell eine Python Django-Umgebung
Erstellen Sie eine Python-Umgebung für maschinelles Lernen mit Containern
Erstellen Sie eine Python-Ausführungsumgebung mit VS-Code
Erstellen Sie eine virtuelle Python-Umgebung mit virtualenv und virtualenvwrapper
Erstellen Sie mit pyenv-virtualenv eine Python-Umgebung für jedes Verzeichnis
Erstellen Sie mit Python eine Entwicklungsumgebung für maschinelles Lernen
Erstellen Sie eine virtuelle Python-Umgebung mit virtualenv und virtualenvwrapper
Richten Sie mit Homebrew eine moderne Python-Umgebung ein
Erstellen Sie eine virtuelle Umgebung mit Python!
Erstellen einer virtuellen Umgebung mit Python 3
Erstellen Sie eine Python3-Umgebung unter CentOS7
Erstellen einer Entwicklungsumgebung für die Python2.7-Serie mit Vagrant
Erstellen Sie eine Python-Umgebung mit pyenv (OS X El Capitan 10.11.3).
Erstellen Sie eine Python-Umgebung mit WSL + Pyenv + Jupyter + VSCode
[Pyenv] Erstellen einer Python-Umgebung mit Ubuntu 16.04
Erstellen Sie mit Laragon ganz einfach eine Entwicklungsumgebung
Erstellen Sie mit Docker eine Jupyter Lab (Python) -Umgebung
Erstellen Sie eine Python-Umgebung unter MacOS (Catallina)
Erstellen Sie eine Tensorflow-Umgebung mit Raspberry Pi [2020]
[Python] Erstellen Sie mit Anaconda eine virtuelle Umgebung
Erstellen einer Python 3.6-Umgebung mit Windows + PowerShell
Erstellen Sie mit Docker-Compose eine schnelle API-Umgebung
Erstellen Sie eine Python-Umgebung mit Anaconda auf einem Mac
[Linux] Erstellen einer Jenkins-Umgebung mit Docker
Erstellen Sie eine Python + OpenCV-Umgebung in Cloud9
Aufbau einer KI / maschinellen Lernumgebung mit Python
[Linux] Aufbau einer Docker-Umgebung mit Amazon Linux 2
Erstellen Sie eine 64-Bit-Python 2.7-Umgebung mit TDM-GCC und MinGW-w64 unter Windows 7
Erstellen Sie mit Anaconda und PyCharm eine Python-Umgebung auf Ihrem Mac
Erstellen Sie eine Python-Ausführungsumgebung mithilfe der GPU mit der GCP Compute Engine
Python-Umgebung mit Docker-Compose
Virtuelle Umgebung mit Python 3.6
Erstellen Sie eine Entwicklungsumgebung für die C-Sprache mit einem Container
Erstellen Sie mit pulumi eine WardPress-Umgebung auf AWS
Erstellen Sie eine Python-Umgebung mit pyenv auf EC2 (Ubuntu)
Erstellen einer Python-Umgebung mit virtualenv und direnv
Erstellen Sie einfach eine Python 3-Ausführungsumgebung unter Windows
Erstellen Sie eine Python-Umgebung auf einem Mac (Mountain Lion)
Erstellen Sie eine virtuelle Umgebung mit conda in Python
Erstellen Sie mit Vagrant in 5 Minuten eine Django-Umgebung
[Memo] Erstellen Sie eine virtuelle Umgebung mit Pyenv + anaconda
Erstellen einer einfachen virtuellen Python-Umgebung ohne Verwendung von pyenv
Ein Memo beim Erstellen einer Python-Umgebung mit Miniconda
Erstellen Sie eine virtuelle Umgebung mit pyenv und venv
Erstellen Sie mit der Doker Toolbox eine Django-Entwicklungsumgebung
Befehle zum Erstellen einer Python3-Umgebung mit virtualenv
Arbeiten Sie in einer virtuellen Umgebung mit Python virtualenv.