Wie Sie vielleicht bereits wissen, Anaconda-Verteilung wird mit einem Befehlszeilenpaket und einem Virtual Environment Manager namens Conda ausgeliefert . Obwohl es hauptsächlich für Python entwickelt wurde, ist es tatsächlich sprachunabhängig und nicht an eine bestimmte Programmiersprache gebunden. Mit Conda können wir viele Programmiersprachen in mehreren verschiedenen Umgebungen installieren. Wir haben Ihnen bereits gezeigt, wie Sie eine NodeJS-Umgebung mit Conda erstellen . Heute werden wir sehen, wie man virtuelle Rust-Umgebungen mit Conda unter Linux erstellt.
1. Was ist Rost?
Rost oder rust-lang ist eine plattformübergreifende, schnelle, moderne Programmiersprache für Open-Source-Systeme.
Es ist gebündelt mit vielen Funktionen wie Nullkosten-Abstraktionen, Bewegungssemantik, garantierter Speichersicherheit, Threads ohne Datenrennen, merkmalsbasierte Generika, Musterabgleich, Typrückschluss, minimale Laufzeit und effiziente C-Bindungen usw.
Bekannte Software-Technologieunternehmen und -Organisationen wie Canonical, Dropbox und Mozilla usw. sind aktiv an der Entwicklung von Rust beteiligt.
2. Erstellen Sie virtuelle Rust-Umgebungen mit Conda unter Linux
Der Rust-Toolchain-Installer mit dem Namen rustup ist das offiziell empfohlene Skript, um Rust unter Linux zu installieren . Es ist jedoch nicht der einzige Weg. Wir können den Conda-Paketmanager auch verwenden, um die Programmiersprache Rust zu installieren und zu verwalten.
Um eine neue Rust-Umgebung mit conda zu erstellen und die erforderliche Software für diese Umgebung zu installieren, führen Sie Folgendes aus:
$ conda create -c conda-forge -n rustenv rust
Der obige Befehl erstellt eine neue virtuelle Umgebung mit dem Namen "rustenv" und installieren Sie alle notwendigen Pakete für diese Umgebung von conda-forge Kanal.
Beispielausgabe:
Collecting package metadata (current_repodata.json): done Solving environment: done ## Package Plan ## environment location: /home/sk/anaconda3/envs/rustenv added / updated specs: - rust The following packages will be downloaded: package | build ---------------------------|----------------- _libgcc_mutex-0.1 | conda_forge 3 KB conda-forge _openmp_mutex-4.5 | 1_gnu 22 KB conda-forge binutils_impl_linux-64-2.35.1| h193b22a_2 9.3 MB conda-forge gcc_impl_linux-64-9.3.0 | h70c0ae5_18 43.1 MB conda-forge kernel-headers_linux-64-2.6.32| h77966d4_13 707 KB conda-forge libgcc-devel_linux-64-9.3.0| h7864c58_18 4.0 MB conda-forge rust-1.50.0 | h3bf0571_0 169.4 MB conda-forge rust-std-x86_64-unknown-linux-gnu-1.50.0| hc1431ca_0 37.8 MB conda-forge sysroot_linux-64-2.12 | h77966d4_13 30.2 MB conda-forge ------------------------------------------------------------ Total: 294.6 MB The following NEW packages will be INSTALLED: _libgcc_mutex conda-forge/linux-64::_libgcc_mutex-0.1-conda_forge _openmp_mutex conda-forge/linux-64::_openmp_mutex-4.5-1_gnu binutils_impl_lin~ conda-forge/linux-64::binutils_impl_linux-64-2.35.1-h193b22a_2 gcc_impl_linux-64 conda-forge/linux-64::gcc_impl_linux-64-9.3.0-h70c0ae5_18 kernel-headers_li~ conda-forge/noarch::kernel-headers_linux-64-2.6.32-h77966d4_13 ld_impl_linux-64 conda-forge/linux-64::ld_impl_linux-64-2.35.1-hea4e1c9_2 libgcc-devel_linu~ conda-forge/linux-64::libgcc-devel_linux-64-9.3.0-h7864c58_18 libgcc-ng conda-forge/linux-64::libgcc-ng-9.3.0-h2828fa1_18 libgomp conda-forge/linux-64::libgomp-9.3.0-h2828fa1_18 libstdcxx-ng conda-forge/linux-64::libstdcxx-ng-9.3.0-h6de172a_18 rust conda-forge/linux-64::rust-1.50.0-h3bf0571_0 rust-std-x86_64-u~ conda-forge/noarch::rust-std-x86_64-unknown-linux-gnu-1.50.0-hc1431ca_0 sysroot_linux-64 conda-forge/noarch::sysroot_linux-64-2.12-h77966d4_13 Proceed ([y]/n)? y Downloading and Extracting Packages libgcc-devel_linux-6 | 4.0 MB | ############################## | 100% rust-1.50.0 | 169.4 MB | ############################## | 100% rust-std-x86_64-unkn | 37.8 MB | ############################################################################################# | 100% gcc_impl_linux-64-9. | 43.1 MB | ############################################################################################# | 100% _openmp_mutex-4.5 | 22 KB | ############################################################################################# | 100% binutils_impl_linux- | 9.3 MB | ############################################################################################# | 100% _libgcc_mutex-0.1 | 3 KB | ############################################################################################# | 100% kernel-headers_linux | 707 KB | ############################################################################################# | 100% sysroot_linux-64-2.1 | 30.2 MB | ############################################################################################# | 100% Preparing transaction: done Verifying transaction: done Executing transaction: done # # To activate this environment, use # # $ conda activate rustenv # # To deactivate an active environment, use # # $ conda deactivate
Bitte beachten Sie, dass Sie Rust-Pakete auch von den offiziellen defaults
installieren können Kanal. Allerdings Conda-forge
channel bietet die aktuellsten Pakete als die defaults
Kanal.
Stellen Sie nach dem Erstellen der Rust-Umgebung sicher, dass sie vorhanden ist, indem Sie die verfügbaren Umgebungen auflisten:
$ conda info --envs
Beispielausgabe:
# conda environments: # base * /home/sk/anaconda3 rustenv /home/sk/anaconda3/envs/rustenv
Ja, eine neue Rust-Umgebung namens rustenv
geschaffen!
Lassen Sie uns diese Umgebung mit dem Befehl aktivieren:
$ conda activate rustenv
Überprüfen Sie die installierte Rust-Version:
$ rustc --version rustc 1.50.0 (cb75ad5db 2021-02-10)
Überprüfen Sie die Version des Frachtpaket-Managers:
$ cargo --version cargo 1.50.0 (f04e7fab7 2021-02-04)
Alles scheint in Ordnung zu sein. Verwenden Sie diese Umgebung, um Ihre Rust-Programme auszuführen, zu debuggen und zu testen.
2.1. Fracht zu deinem $PATH
hinzufügenWenn Sie Rust mit Rustup installiert haben, ist alles automatisiert.
Das Rustup-Installationsskript lädt den offiziellen Compiler für die Programmiersprache Rust und seinen Paketmanager namens Cargo herunter und installiert ihn , und es fügt die Fracht hinzu , rustc , Rosten und andere Befehle an das bin-Verzeichnis von Cargo, das sich unter ~/.cargo/bin befindet . Und schließlich fügt es das bin-Verzeichnis von Cargo zu Ihrer PATH-Umgebungsvariablen hinzu, indem es das Profil ändert Datei unter ~/.profile .
Aber in diesem Fall müssen Sie das bin-Verzeichnis von Cargo selbst zu Ihrem $PATH hinzufügen. Bearbeiten Sie dazu das Profil Datei unter ~/.bashrc oder ~/.profile
oder was auch immer Sie verwenden:
$ nano ~/.bashrc
Fügen Sie am Ende die folgende Zeile hinzu:
export PATH=/home/sk/.cargo/bin:$PATH
Drücken Sie CTRL+O
gefolgt von CTRL+X
um die Datei zu speichern und zu beenden.
Führen Sie den folgenden Befehl aus, damit die Änderungen sofort wirksam werden:
$ source ~/.bashrc
Ersetzen Sie ~/.bashrc
mit Ihrer aktuellen Profildatei.
2.2. Virtuelle Umgebung von Rust deaktivieren
Wenn Sie fertig sind, deaktivieren Sie die virtuelle Rust-Umgebung mit dem Befehl:
$ conda deactivate
Um die virtuelle Umgebung von Rust erneut zu aktivieren, führen Sie Folgendes aus:
$ conda aktivieren
2.3. Virtuelle Umgebung von Rust löschen
Stellen Sie sicher, dass Sie die Umgebung deaktiviert haben:
$ conda deactivate
Löschen Sie dann die Rostumgebung mit dem Befehl:
$ conda env remove -n rustenv
Wenn Sie den genauen Namen der Umgebung nicht kennen, listen Sie einfach alle verfügbaren Umgebungen mit conda info --envs
auf Befehl, der Ihnen die Details aller Umgebungen liefert und dann die richtige Umgebung löscht.
3. Fazit
In diesem Handbuch haben wir besprochen, wie Sie virtuelle Rust-Umgebungen mit Conda unter Linux erstellen, wie Sie die virtuelle Rust-Umgebung aktivieren und deaktivieren und schließlich, wie Sie die Rust-Umgebung löschen.
Verwandte Lektüre:
- Virtuelle Golang-Umgebungen mit Conda unter Linux erstellen