![](/img/trans.png)
[英]i run command django-admin startproject dr it shows zsh: command not found: django-admin?
[英]command not found: django-admin when using django-admin startproject prj in mac
我正在尝试使用 django 使用命令启动一个新项目
django-admin startproject prj1
在 Mac 中,但它显示未找到命令:django-admin。
--user
选项可以方便地安装包,而无需管理员访问权限,Python 在导入模块时也会查看该位置。 在 MacOS 上,安装位置在/Users/<username>/Library/Python/<xy>/lib/python/site-packages/
(其中<xy>
表示 Python 版本,例如 2.7,仍然是默认的) MacOS 上的 Python 版本)。 对于其他操作系统,这将是一个不同的位置。 在任何情况下,用户都不必理会这些信息,因为如前所述,会自动搜索导入位置:无需将此位置添加到环境变量 (envvar) PYTHONPATH
。
也许有些遗憾,对于与软件包一起安装的可执行文件(例如django-admin
,情况并非如此。 原因是这种“用户安装的软件包和可执行文件”并未在所有类型的软件中标准化; 它只是 Python 以及其他一些类型的软件所使用的东西。 因此,必须手动将相应的路径添加到环境变量PATH
,该环境变量定义了在哪些位置搜索可执行文件。 安装可执行文件的路径与上述路径略有不同: /Users/<username>/Library/Python/<xy>/bin/
。
因此,必须设置PATH
envvar 以添加(大多数情况下,添加它的前面),并使其更持久,“导出”变量(在 bash 或 zsh shell 中)。 因此:
export PATH=/Users/<username>/Library/Python/<x.y>/bin/:$PATH
为了使这更持久,以便在每个人启动一个新终端时都能正常工作,请将上述内容添加到/Users/<username>/.bashrc
文件的最后。 然后,每次打开新终端时都会设置它。
最后,许多安装可执行文件的包也可以选择作为可执行模块运行。 这需要使用-m
选项运行python
,后跟包名称,在这种情况下,再后跟相关命令和参数。
因此,以下也(总是)有效,而不必像上面那样扩展PATH
:
python -m django startproject prj1
如果你在一个尴尬的位置安装一个新的 Python 版本(例如 /opt/local 中的 Python 3.7 或其他东西),并使用别名而不是设置PATH
(我经常使用alias py37=/opt/local/bin/python3.7
),后者也很方便alias py37=/opt/local/bin/python3.7
)。 然后使用python3.7 -m <package> ...
如上所述。 然而,这正是人们所拥有的偏好:其他人只是希望能够简单地输入django-admin
并完成它。
首先激活虚拟环境..输入
......source your_env/bin/activate
然后立即运行创建项目命令。注意现在您将在 your_env 上方创建的 venv 中...
......django-admin startproject prji
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.