
私のコンピューターには多くの仮想環境があり、それらすべてが保存される場所が必要です。どうやら$HOME
、サブディレクトリは良くないようです。露出しすぎです。何か提案や、私が間違っている理由を教えてください。
について考えています/var/venv/
。何かご意見はありますか?
答え1
venvs の場合、apparmor や docker などのコンテナーのセキュリティ制限に関する問題を回避するために、$HOME のサブディレクトリに配置することをお勧めします。
このファイル内の制限に注意してください:
/etc/apparmor.d/abstractions/python
理論的には /opt に置くこともできますが、venvs は実際にはユーザー固有のものであり、ユーザーのホーム ディレクトリに置くことが想定されています。他のディストリビューションの制限と、/usr は LSB によってネットワーク上で共有されることが公式に想定されているため、ローカルはオプションではありません。
私は個人的に、golang 構造の修正バージョンに従います。
~build/
+$language/
+bin/
| venv/
| |---Python2.7
| +---Python3.6
+pkg
+src/
|
+--- my_work/..
| |---repo1
| +---other_project
|
+-- external-repo.com/..
これにより、コンテンツの検索と移動が容易になり、コンテナの普及に伴ってさらに重要になるセキュリティ モデル、cgroup、その他の制限によって課される制限と互換性が確保されます。
venvs は元々、プロジェクト ディレクトリ内に格納されることを意図していたことに注意してください。コア OS の依存関係やメジャー バージョンの変更により、venvs の使用は増加していますが、個々のパッケージ、プロセス、またはユーザーにできるだけ近い場所に格納することが望ましいといえます。