我遇到这个问题差不多一个月了,我非常感谢你的帮助。在尝试登录我的Django Web App时,我在/accounts/login/遇到了OSError。我能够登录127.0.0.1:8000/admin,但不能登录到/ accounts / login,这会产生错误代码:
OSError at /accounts/login/
[WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions
Request Method: POST
Request URL: http://127.0.0.1:8000/accounts/login/
Django Version: 1.11.1
Exception Type: OSError
Exception Value:
[WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions
Exception Location: C:\Python35-32\lib\socket.py in create_connection, line 702
Python Executable: C:\Python35-32\myvenv_python3\Scripts\python.exe
Python Version: 3.5.2
Python Path:
['C:\\Users\\Kaleab\\Desktop\\ecomstore',
'C:\\Python35-32\\lib\\site-packages\\sqlalchemy-1.1.7-py3.5-win32.egg',
'C:\\Python27',
'C:\\Python35-32\\myvenv_python3\\Lib\\site-packages',
'C:\\Python35-32',
'C:\\Users\\Kaleab\\Desktop\\ecomstore',
'C:\\Python35-32\\myvenv_python3\\Scripts\\python35.zip',
'C:\\Python35-32\\DLLs',
'C:\\Python35-32\\lib',
'C:\\Python35-32\\myvenv_python3\\Scripts',
'C:\\Python35-32\\lib\\site-packages',
'C:\\Python35-32\\lib\\site-packages\\win32',
'C:\\Python35-32\\lib\\site-packages\\win32\\lib',
'C:\\Python35-32\\lib\\site-packages\\Pythonwin']
可能的原因和解决方案
原因:
套接字访问需要管理权限。 尝试的解决方案:•通过导航到虚拟环境授予管理员对python.exe的访问权限。 •导航到CMD.exe,右键单击,属性,授予管理员权限。
原因:端口已被其他程序使用。尝试的解决方案:使用TCPView Windows程序检查端口,并看到端口8000未被其他程序使用。
原因:防火墙和防病毒软件阻止了套接字访问。尝试的解决方案:当我尝试禁用防火墙和防病毒时,我在accounts / login / [WinError 10061]收到另一个错误ConnectionRefusedError。由于目标计算机主动拒绝它,因此无法建立连接。
原因:Winsock发生故障。尝试解决方案:尝试并成功重置winsock,但这也没有解决它。
答案 0 :(得分:5)
我将以不同的端口运行服务器作为答案,虽然我无法在stackoverflow建议命令中看到端口8000。使用:python manage.py runserver 8080。
答案 1 :(得分:0)
由于更改端口适用于@Kaleab,问题可能是使用该端口的另一个进程。
我刚发现一个Firefox进程,从端口5000到端口5000都有环回连接(奇怪吗?)。一旦我关闭了Firefox,我就可以在没有错误的情况下启动我的Flask服务器。
要找出使用该端口的进程see here。
答案 2 :(得分:0)
更改端口对我有用,我试图运行django服务器。 它不是防火墙问题,只需在命令前面键入端口
python manage.py runserver 7000
答案 3 :(得分:0)
如下运行端口号为8080的命令
python manage.py runserver 8080
答案 4 :(得分:0)
只需重新启动计算机并运行
python manage.py runserver
或
python manage.py runserver PORT_NUMBER
或
python manage.py runserver 8000
或
python manage.py runserver 8080
答案 5 :(得分:0)
可能正在运行另一个正在使用该端口的进程。查找并杀死该进程将使您能够使用8000端口。
答案 6 :(得分:0)
由于防病毒应用程序(Kaspersky),我收到了错误消息。我要做的就是将卡巴斯基trustworthy
。我有一个外国版本,因此trustworthy
是直译,也许在英文版本中它的名称也有所不同。
答案 7 :(得分:-1)
我使用不同的端口解决了这个问题:
python manage.py runserver 9999
9999
为我工作