
私は新しいノートブックを設定していますが、互いに重ならないようにいくつかの異なるプログラミング環境を設定したいと思います。
実際の用途はさまざまですが、具体的な例を挙げてみましょう。私はPython 2.7を維持し、Python 3.newestを開発します。
フルベルトソリューションは、私が使用するすべてのシステムにVirtualBox(または同様のもの)を持つことですが、より良い方法はありますか? (非常に明確な答えを提供することを恐れてはいけません。私は最近のLinuxユーザーです。「誰もが聞いた」内容があれば、私は聞いていない可能性があります。
明確に言えば、さまざまなバージョンに別々の環境が必要です。gcc
上記のように、clang
2つのバージョンが多すぎます(たとえ1つは並列にインストールすると正常に動作するようですが)。そのうち、さまざまなバージョンが何かを逃したと確信しています。現在私は最新バージョンで作業しています。しかし、将来がどうなるのか、誰が話すことができますか?だからとにかく彼らだけの環境を提供して、今後このようなことが起こっても混乱しないようにするのが良いと思います。go
python
dotnet
node.js
zig
rust
答え1
いくつかの解決策があります。通常、ほぼすべてのロケールを構成することで(通常はPythonなどの適切な場所の環境変数を介して$PYTHONPATH
)、Linuxは実行可能ファイル($PATH
)とライブラリ($LD_LIBRARY_PATH
)のスタンドアロン環境を使用するメカニズムも同じです。スタンドアロン環境の使用は、通常、いくつかの環境変数を変更することで発生します。
Pythonに関する限り、Python自体には対応するメソッド()がありますが、パッケージ/プレフィックスマネージャ(/)もたくさんpython -m venv
あります。他の言語でも同様です(Rustのクレートはうまく設計されており、JavaScriptのクレートはまったく異なります。PHPのPEARなど...)。conda
mamba
cargo
npm
さらに隔離が必要な場合は、コンテナ役に立つかもしれません。完全なOSファイルシステムツリーは通常のツリーに「組み込み」であり、明示的に共有するだけで「基本」OSと交換できます。
おおむね次のようになります。たくさんさまざまな方法があり、ほとんどの言語には人生をより簡単にするための特定のツールがあります。言語ごとに一つずつ探してみなければなりません。
答え2
Marcusの答えに追加するには学習曲線がありますが、nixまたはguixを使用して要件に応じて環境を宣言的に設定できます。私はnixを使用することを好みます。追加資料:https://nixos.org/guides/nix-pills/