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