Ubuntu:No module named ‘django‘

本文记录了一次使用Django搭建Blog并部署至Ubuntu过程中遇到的问题及解决办法,详细介绍了如何正确安装Django及其依赖项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

在网上跟着教程用Django搭建了个blog,准备在Ubuntu上部署。
项目代码已经git clone下来了。使用sudo pip3 install virtualenv安装虚拟环境,然后 cd 到项目目录的上一级,使用sudo virtualenv env01创建虚拟环境。

问题

cd 到项目文件里,使用python3 manage.py collectstatic时报错了,为No module named 'django',于是我使用sudo pip3 install django安装Django,发现之前确实没有安装Django。

安装完后,继续使用python3 manage.py collectstatic仍然显示No module named 'django'

解决过程

我使用sudo python3 进入控制台。

import sys
print(sys.path)
"""输出
['', '/usr/lib/python310.zip', '/usr/lib/python3.10', '/usr/lib/python3.10/lib-dynload', '/home/sites/blog/env01/lib/python3.10/site-packages']
"""
# 通过安装Django的信息发现Django安装在 /usr/local/lib/python3.10/dist-packages/ ,不在环境变量里。
sys.path.append('/usr/local/lib/python3.10/dist-packages/')
print(sys.path)
"""输出
['', '/usr/lib/python310.zip', '/usr/lib/python3.10', '/usr/lib/python3.10/lib-dynload', '/usr/local/lib/python3.10/dist-packages', '/usr/lib/python3/dist-packages', 'usr/local/lib/python3.10/dist-packages']
"""
# 添加到环境变量里了,然后退出控制台。
exit()

再次python3 manage.py collectstatic,还是显示No module named 'django'

然后我意识到,也许我的虚拟环境里没有Django,通过cd /home/sites/blog/env01/lib/python3.10/site-packagesls查看到目录_distutils_hack setuptools-65.3.0.dist-info distutils-precedence.pth setuptools-65.3.0.virtualenv pip _virtualenv.pth pip-22.2.2.dist-info _virtualenv.py pip-22.2.2.virtualenv wheel pkg_resources wheel-0.37.1.dist-info setuptools wheel-0.37.1.virtualenv,确实没有Django。

于是我使用sudo pip3 install --target=/home/sites/blog/env01/lib/python3.10/site-packages django,将Django安装到虚拟环境中。

完成后,python3 manage.py collectstatic,问题解决了。

总结

使用虚拟环境时,要用sudo pip3 install --target=虚拟环境的包目录 要安装的的包来安装包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值