bash - mkvirtualenv --python 命令行参数记录在哪里?
问题描述
我正在学习 django 课程,在创建虚拟环境时,他们使用了以下命令:
mkvirtualenv envname --python=/usr/bin/python3.8
我不知道额外的论点是什么意思,只是想要一个解释。非常感谢!抱歉,如果这很简单 - 刚刚开始。
解决方案
该
mkvirtualenv
命令是一个 shell 脚本,通常位于/usr/local/bin/virtualenvwrapper.sh
.--python
其中,可以在 bash-function 中找到对命令行参数的引用function mkvirtualenv {
。这是相关部分(
[...]
表示我为便于阅读而删除的代码):它遍历所有提供的命令行参数:
function mkvirtualenv {
[...]
while [ $i $tst $# ]
do
a="${in_args[$i]}"
case "$a" in
[...]
-p|--python)
i=$(( $i + 1 ));
interpreter="${in_args[$i]}";
interpreter="$(virtualenvwrapper_absolutepath "$interpreter")";;
[...]
esac
i=$(( $i + 1 ))
done
- 上面的代码处理
--python
命令行参数。 - (
--python
双破折号) 和-p
(单破折号) 参数被视为同义词。 - 它用于设置新虚拟环境将使用的实际 Python 解释器/引擎的路径。
- 这是必需的,因为您可以在同一台物理计算机上并排安装多个不同且不兼容的 Python,但您需要选择一个明确(且版本正确)的 Python 可执行文件来运行您的 Python 程序。
推荐阅读
- laravel - Mail::assertNotQueued() 的 $mailable 字符串在哪里?
- python - 为数据框生成日期数据
- android - 为生产构建反应原生 Firebase 应用程序时出错
- google-app-engine - 指向“自动”的包罗万象的处理程序是一个坏主意吗?
- linux - 如何允许关闭用户不允许在 wordpress 中上传照片?
- php - 如何删除日期中的分隔符?
- python - 掷骰子的概率
- javascript - 未在反应功能组件中检查空条件
- react-native - 如何在本机反应中在左侧设置一个图标,在标题中心设置文本
- xamarin.forms - Xamarin 表单:图像条目在 android 中未按预期工作