我已经在pycharm中配置了virtualenv,当使用python manage.py命令时,显示错误:
E:\video course\Python\code\web_worker\MxOnline>python manage.py runserver
Traceback (most recent call last):
File "manage.py", line 17, in <module>
"Couldn't import Django. Are you sure it's installed and "
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
我应该如何修复它,我已经安装了django。
答案 0 :(得分:11)
我认为使用django的最佳方式是使用virtualenv它是安全的,您可以在virtualenv中安装许多应用程序,这不会影响系统的任何外部空间 vitualenv使用默认版本的python,它与系统中的相同 安装virtualenv
sudo pip install virtualenv
或用于python3
sudo pip3 install virtualenv
然后在你的目录
mkdir~ / newproject
cd~ / newproject
现在,通过键入
在项目目录中创建一个虚拟环境virtualenv newenv
要将软件包安装到隔离环境中,必须通过键入以下命令将其激活:
source newenv/bin/activate
现在安装
pip install django
您可以输入以下命令验证安装:
django-admin --version
要离开虚拟环境,您需要从系统的任何位置发出deactivate命令:
deactivate
答案 1 :(得分:2)
您需要安装Django
,因为未安装django,因此出现此错误。
pip install django
答案 2 :(得分:2)
找到您的django父目录路径并将其添加到PYTHONPATH
在我的情况下,我的django父目录路径为/Library/Python/3.7/site-packages
,将此行添加到〜/ .bash_profile
export PYTHONPATH=/Library/Python/3.7/site-packages
否则,如果您已经拥有PYTHONPATH,只需像这样添加它
export PYTHONPATH=${PYTHONPATH}:/Library/Python/3.7/site-packages
然后
source ~/.bash_profile
答案 3 :(得分:1)
我在这方面遇到了很大的困难,但是我解决了我的问题。我在我的virtualenv环境中使用Vagrant ssh的Windows 10上,我安装的盒子是ubuntu / xenial64,Django 2.1,python == 3.6。
当我安装软件包时,我使用的是pip3,但最重要的是,我使用sudo和-H
标志来安装这些软件包。当我运行sudo pip3 freeze
时,我的包裹会出现,但是当我运行普通的pip3 freeze
时,将没有包裹。
然后,我尝试了python3 manage.py startapp <YOUR APP NAME>
,但该错误与您的错误相同。
我终于想尝试sudo python3 manage.py startapp <YOUR APP NAME>
终于成功了!
希望这对您有所帮助:)
答案 4 :(得分:1)
如果您不想使用virtualenv,则可以使用python3运行文件。python3 manage.py runserver
答案 5 :(得分:1)
在计算机上安装Django时,一切正常,但是在安装虚拟环境时,它与所有事物分离。当您完成最终项目并将其部署到任何云或托管中时,您就会知道它的重要性。
只需在虚拟环境和baam中重新安装Django:
pip install Django
然后只需运行命令进行测试:
python manage.py runsever
大功告成。
答案 6 :(得分:1)
我遇到了同样的问题,就我而言,这是因为除了Anaconda之外,我的机器上还有多个python版本。
在我的情况下,django与我的anaconda python配合不好。
我知道当我在所有版本的每个python终端上运行import django
时。
作为总结,以下是我为解决此问题而采取的步骤:
以管理员身份运行CMD
创建项目文件夹。
在项目文件夹中为该新项目创建新的ENV ...
pip install virtualenv >> virtualenv new_env`
激活它:
.\new_env\Scripts\activate`
激活环境后⇒安装Django:
python -m pip install Django
您在第5步中使用的python版本将确定哪个python将与此已安装的Django配合使用。
答案 7 :(得分:0)
我遇到了同样的问题,但我的解决方案未在此处发布:
每当我使用 requirements.txt
安装 pip
文件时都会出现错误(比如克隆 git 存储库)。
我手动安装了 requirements.txt
中的每个模块 + 安装这些模块所需的任何其他模块(例如:我遇到了错误,有些模块缺少安装其他模块,所以我也必须添加它们).
答案 8 :(得分:0)
我在使用 Django 3 时遇到了这个问题。
在 manage.py
上详细介绍了 execute_from_command_line
导入。
你应该:
from django.core.management import execute_from_command_line
代替
from django import execute_from_command_line
答案 9 :(得分:0)
只需同步您的 pipenv 环境:
pipenv sync
答案 10 :(得分:0)
在激活虚拟环境后,该错误在 ubuntu 上出现。 我只需再次输入即可解决此问题:
pip3 install Django
在目录中,我想创建一个新的应用程序。
答案 11 :(得分:0)
要为您的项目创建虚拟环境,请打开一个新的命令提示符,导航到您要创建项目的文件夹,然后输入以下内容:
<块引用>py -m venv 项目名称 如果它不存在并设置虚拟环境,这将创建一个名为“project-name”的文件夹。要激活环境,请运行: 项目名称\脚本\激活.bat**
虚拟环境将被激活,您将在命令提示符旁边看到“(项目名称)”来指定它。每次启动新的命令提示符时,您都需要再次激活环境。
安装 Django
可以在您的虚拟环境中使用 pip 轻松安装 Django。
在命令提示符下,确保您的虚拟环境处于活动状态,然后执行以下命令:
<块引用>py -m pip 安装 Django
答案 12 :(得分:0)
我遇到了同样的问题,我安装了所有具有root访问权限的依赖项:
在您的情况下:
sudo pip install django
就我而言,我在requirements.txt
中拥有所有依赖项,所以:
sudo pip3 install -r requirements.txt
答案 13 :(得分:0)
问题与以下错误有关: 执行策略更改
通过运行以下命令启动virtualenv:
命令行 C:\用户\名称\ yourdjango文件名> myvenv \脚本\激活
注意:在Windows 10上,Windows PowerShell可能会收到错误消息,指出在此系统上禁用了这些方案的实现。在这种情况下,请使用“以管理员身份运行”选项打开另一个Windows PowerShell。之后,在启动虚拟环境之前尝试键入以下命令:
C:\ WINDOWS \ system32> 设置执行策略远程签名
执行策略更改: 执行策略有助于保护您免受不信任的脚本的侵害。更改执行策略可能会使您面临http://go.microsoft.com/fwlink/?LinkID=135170的about_Execution_Policies帮助主题中所述的安全风险。
是否要更改执行策略? [Y]是[A]对所有人[N]否[L]对所有人[S]暂停[?]帮助(默认为“ N”):A
选择Y(es)之后,关闭Powershell管理员窗口,然后返回到Powershell窗口(出现错误)并再次运行命令。
> myenv \ Scripts \ activate ,然后 python manage.py runserver 8085 ,
(8085或任何数字,如果您想更改其默认端口即可使用,否则无需指出任何内容。)
答案 14 :(得分:0)
如果您不想停用或激活已安装的venv,只需确保已设置pythonpath即可
设置pythonpath = C:\ software \ venv \ include; C:\ software \ venv \ lib; C:\ software \ venv \ scripts; C:\ software \ venv \ tcl; C:\ software \ venv \ Lib \ site-packages;
然后执行
“%pythonpath%”%venvpath%Scripts \ mytestsite \ manage.py运行服务器“%ipaddress%”:8000
答案 15 :(得分:0)
检查是否已安装Django;通过在Python中执行import django
。
如果一切正常,您就不会看到ModuleNotFoundError
。
检查是否已安装virtualenv;通过执行virtualenv --version
。
如果一切正常,您必须看到版本号。
检查是否已启用virtualenv;在命令提示符起始行中必须有virtualenv的名称。通过启用它
source bin/activate
。另外,每次工作时,请记住deactivate
完成了virtualenv。
您的virtualenv包含django。默认情况下是virtualenv
没有安装模块。您要么必须在您的计算机中安装django
virtualenv(即使您已经将其安装在计算机中)也可以使用
virtualenv --system-site-packages
在创建虚拟环境时要
在virtualenv中包含系统站点软件包。
将django添加到您的路径。打开python import django
,然后运行
django
查看Django的路径。然后将其添加到您的~/.bashrc
(或
~/.zshrc
(如果您使用的是zsh
)。 here
通过运行django-admin
pip install django-admin
答案 16 :(得分:0)
在Windows 10中使用anaconda时,我也面临相同的问题
对我来说anaconda3\Scripts>activate
效果很好。您所需要做的只是去anaconda家
AppData \ Local \ Continuum \ anaconda3 \ Scripts
,您需要打开一个cmd提示符并键入激活。
它将为您激活venv。
答案 17 :(得分:0)
您需要转到根目录 并运行以下命令
source bin/activate
执行上述命令后,您将能够创建自定义应用
答案 18 :(得分:0)
windows:
(virtualenv目录)\ Scripts \ activate#此步骤可激活virtualenv
您应该位于(项目名称)的目录中
python manage.py runserver
答案 19 :(得分:0)
如果您在没有权限访问所有文件的机器上工作,并且您有两个版本,例如默认2.7和最新的3.6,则在运行该命令时,请在命令中使用python版本。如果sudo安装了最新的python,请使用sudo运行命令。
exp:
var margins = {
top: 20,
left: 50,
bottom: 20,
right: 20
};
var width = 300;
var arcSize = (6 * width) / 100;
var innerRadius = arcSize * 3;
var extent = 1800;
var data2 = [
[
{
value: (231 / extent) * 100,
marker: 231,
label: "Collective",
color: "#b8cce4",
neg: false
},
{
value: (233 / extent) * 100,
marker: 233,
label: "Targeted",
color: "#95b3d7",
neg: false
},
{
value: (45 / extent) * 100,
marker: 45,
label: "Specific",
color: "#4f81b9",
neg: false
}
],
[
{
value: (171 / extent) * 100,
marker: 171,
label: "Collective",
color: "#b8cce4",
neg: false
},
{
value: (1712 / extent) * 100,
marker: 1712,
label: "Targeted",
color: "#95b3d7",
neg: false
},
{
value: (1 / extent) * 100,
marker: 1,
label: "Specific",
color: "#4f81b9",
neg: false
}
],
[
{
value: (207 / extent) * 100,
marker: 207,
label: "Collective",
color: "#b8cce4",
neg: false
},
{
value: (975 / extent) * 100,
marker: 975,
label: "Targeted",
color: "#95b3d7",
neg: false
},
{
value: (153 / extent) * 100,
marker: 153,
label: "Specific",
color: "#4f81b9",
neg: false
}
]
];
var svg = d3
.select("body")
.append("svg")
.attr("width", 1100 + 100)
.attr("height", 1100 + 100);
var graphGroup = svg
.append("g")
.attr("transform", "translate(" + margins.left + "," + margins.top + ")");
for (var j = 0; j < data2.length; j++) {
var data = data2[j];
var arcs = data.map(function(obj, i) {
return d3.svg
.arc()
.innerRadius(i * arcSize + innerRadius)
.outerRadius((i + 1) * arcSize - width / 100 + innerRadius);
});
var arcsGrey = data.map(function(obj, i) {
return d3.svg
.arc()
.innerRadius(i * arcSize + (innerRadius + (arcSize / 2 - 2)))
.outerRadius((i + 1) * arcSize - arcSize / 2 + innerRadius);
});
var pieData = data.map(function(obj, i) {
return [
{
value: obj.value * 0.75,
arc: arcs[i],
object: obj
},
{
value: (100 - obj.value) * 0.75,
arc: arcsGrey[i],
object: obj
},
{
value: 100 * 0.25,
arc: arcs[i],
object: obj
}
];
});
var pie = d3.layout
.pie()
.sort(null)
.value(function(d) {
return d.value;
});
var g = graphGroup
.selectAll(null)
.data(pieData)
.enter()
.append("g")
.attr(
"transform",
"translate(" + (width / 2 + j * 300) + "," + width / 2 + ") rotate(180)"
);
const arcGroup = g
.selectAll(".group-arc")
.data(d => pie(d))
.enter()
.append("g")
.attr("class", "group-arc");
arcGroup
.append("path")
.attr("id", function(d, i) {
if (i == 1) {
return "Text" + d.data.object.label;
}
})
.attr("d", function(d) {
return d.data.arc(d);
})
.attr("fill", function(d, i) {
if (d.data.object.neg == false) {
return i == 0 ? d.data.object.color : i == 1 ? "#D3D3D3" : "none";
} else {
return i == 0 ? "red" : i == 1 ? "#D3D3D3" : "none";
}
});
arcGroup.call(elem => {
elem.forEach(arcGr => {
const { parentNode } = arcGr;
const groupAdd = d3.select(parentNode);
const arcData = d3.select(arcGr[0]).data();
groupAdd
.append("text")
.attr("alignment-baseline", "middle")
.text(d => d[0].object.label)
.attr("transform", d => {
var centroidText = arcData[0].data.arc.centroid({
startAngle: arcData[0].startAngle,
endAngle: arcData[0].startAngle
});
console.log(centroidText);
return `translate(${centroidText.join(",")})rotate(180)`;
});
groupAdd
.append("text")
.text(d => d[1].object.marker)
.attr("alignment-baseline", "hanging")
.attr("text-anchor", "end")
.attr("dx", "-2")
.attr("transform", d => {
var path = arcData[0].data.arc(arcData[0]);
var coords = path.split("L")[1].split("A")[0];
return `translate(${coords})rotate(180)rotate(${(arcData[0].endAngle *
180) /
Math.PI})`;
});
});
});
/**
//Previous version
arcGroup
.append("text")
.text(function(d, i) {
var lableObj = d.data.object;
if (i === 0) {
return lableObj.label;
} else if (i === 1) {
if (lableObj.neg === true) {
return "-" + lableObj.marker;
} else {
return lableObj.marker;
}
}
})
.attr("transform", (d, i) => {
var centroidText = d.data.arc.centroid({
startAngle: d.startAngle,
endAngle: d.startAngle
});
return (
"translate(" +
(centroidText[0] - (1.5 * width) / 100) +
"," +
(centroidText[1] + ") rotate(" + 180 + ")")
);
});
*/
}
答案 20 :(得分:0)
使用runserver命令时,您似乎尚未激活virtualenv。
Windows:<virtualenv dir>\Scripts\activate.bat
Linux:source <virtualenv dir>\bin\activate
您应该看到(virtualenv的名称)作为当前目录的前缀:
(virtualenv) E:\video course\Python\code\web_worker\MxOnline>python manage.py runserver
答案 21 :(得分:0)
启动项目时,您无需访问新创建的虚拟环境,而只需访问最初创建的虚拟环境。
您只需要在命令行中执行以下操作:
1)readLen, err := io.ReadAtLeast(rand.Reader, buff, buffLen)
fmt.Println(buff)
访问您最初创建的后端虚拟环境。
2)然后,pipenv shell
让我知道它是否对您有用。
答案 22 :(得分:0)
我以完全不同的方式解决了这个问题。
Package installer = Conda (Miniconda)
List of available envs = base, djenv(Django environment created for keeping project related modules).
当我使用命令行通过conda activate djenv
激活djenv时,基本环境已被激活。我没有注意到,当激活djenv时,(djenv)
会显示在命令行提示的开头。当我累死执行python manage.py migrate
时,发生了这种情况。
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?
我停用了当前环境,即conda deactivate
。这停用了djenv
。然后,我停用了base
环境。
之后,我再次激活了djenv
。该命令就像一个魅力!
如果有人遇到类似的问题,希望您也考虑尝试此操作。也许有帮助。
答案 23 :(得分:0)
您需要同时使用两个命令: pip install django和pip3 install django 对我有用
答案 24 :(得分:0)
当我在Windows 10上执行此操作时遇到了同样的问题。问题可能是环境变量中没有为manage.py定义路径。我做了以下步骤,这对我来说很有用!
我真的希望它有效!
答案 25 :(得分:0)
如果您已激活虚拟环境,安装了django,django-admin --version将打印有效版本 - 检查您正在执行的文件中是否没有循环导入。
答案 26 :(得分:-1)
如果您使用的是python 3,请在cmd代码之前使用py
py manage.py runserver