Python 升华文本3:Anaconda程序包错误连接到本地主机超时
我在启动sublime text 3时收到一条奇怪的错误消息 启动时,我得到下面的错误 以下是我的系统的一些背景: Windows 10 升华文本3(通过升华文本包安装程序安装Anaconda软件包) 从CMD:Python 升华文本3:Anaconda程序包错误连接到本地主机超时,python,sublimetext3,anaconda,python-3.5,sublime-text-plugin,Python,Sublimetext3,Anaconda,Python 3.5,Sublime Text Plugin,我在启动sublime text 3时收到一条奇怪的错误消息 启动时,我得到下面的错误 以下是我的系统的一些背景: Windows 10 升华文本3(通过升华文本包安装程序安装Anaconda软件包) 从CMD: C:\Users\joshu>where python C:\cygwin64\bin\python C:\Users\joshu\Anaconda3\python.exe C:\Users\joshu>which python /usr/bin/python C:\
C:\Users\joshu>where python
C:\cygwin64\bin\python
C:\Users\joshu\Anaconda3\python.exe
C:\Users\joshu>which python
/usr/bin/python
C:\Users\joshu>python --version
Python 3.5.2 :: Anaconda 4.2.0 (64-bit)
从升华文本3控制台:
sys.version
'3.3.6 (default, Sep 22 2016, 23:32:57) [MSC v.1600 64 bit (AMD64)]'
sys.path
['C:\\Users\\joshu\\AppData\\Roaming\\Sublime Text 3\\Installed Packages\\AutoPEP8.sublime-package\\sublimeautopep8lib\\packages_py3', 'C:\\Program Files\\Sublime Text 3', 'C:\\Program Files\\Sublime Text 3/python3.3.zip', 'C:\\Users\\joshu\\AppData\\Roaming\\Sublime Text 3\\Packages', 'C:\\Users\\joshu\\AppData\\Roaming\\SUBLIM~1\\Packages\\pygments\\all', 'C:\\Users\\joshu\\AppData\\Roaming\\SUBLIM~1\\Packages\\coverage\\ST3_WI~2', 'C:\\Users\\joshu\\AppData\\Roaming\\SUBLIM~1\\Packages\\MARKUP~1\\all', 'C:\\Users\\joshu\\AppData\\Roaming\\SUBLIM~1\\Packages\\PYTHON~1\\st3', 'C:\\Users\\joshu\\AppData\\Roaming\\SUBLIM~1\\Packages\\PYTHON~2\\all', 'C:\\Users\\joshu\\AppData\\Roaming\\SUBLIM~1\\Packages\\mdpopups\\st3', 'C:\\Users\\joshu\\AppData\\Roaming\\Sublime Text 3\\Packages\\coverage\\st3_windows_x64']
第一个问题是,我不知道如何“检查是否存在执行anaconda jsonserver.py脚本的Python进程”
但最终我在如何解决这个问题上迷失了方向
我的“测试”是尝试导入Numpy(无效..未检测到模块),以查看anaconda是否工作
我确实将以下代码粘贴到了sublime text 3控制台中。。看起来什么都没发生:
import socket; socket.socket(socket.AF_INET, socket.SOCK_STREAM).connect(("localhost", 59552))
更新:我通过在sublime text下的AppData目录中搜索找到了jsonserver.py文件 升华文本控制台:
import sys
print(sys.path)
将路径复制到Explorere文件中的Sublime Text 3 Anaconda文件夹,然后搜索jsonserver.py
当我试图打开文件时,它会自动关闭。不确定这是好事还是坏事
最终,我删除了Anaconda软件包,然后重新安装。这似乎解决了问题(尽管我不确定根本原因:/)1。注
我认为,这个问题可能是由其他原因引起的,而不是我在回答中所描述的。你需要另一种解决方案
但我的解决方案对我个人有效
2.答复 如果不手动运行
jsonserver.py
,则不要在设置中设置“jsonserver\u debug”:true
。
如果anaconda
文件夹中的python-B anaconda\u server/jsonserver.py-p test 9999 debug
中的“jsonserver\u debug”:true,
3.示范
3.1. 意外行为
如果“jsonserver_debug”:true
:
如果我打开.py
文件:
Anaconda不工作(示例中不是自动格式化文件)
3.2. 预期行为
如果“jsonserver\u调试”:false:
Anacond成功自动格式化示例文件
4.环境 我当时的环境,当我写下这个答案时:
- Windows 10企业级LTSB 64位EN
- Sublime Text Build 3143便携式
- Python 3.6.4,全球安装
- 巨蟒2.1.25
{
"swallow_startup_errors": true
}
和保存
如果此文件中已有其他用户设置,只需将此设置添加到文件中即可我的Mac电脑上有此问题。在终端上,我检查了jsonserver.py是否正在运行
$ ps aux | grep jsonserver
user1 17170 0.0 0.0 4286488 856 s001 S+ 10:51am 0:00.00 grep jsonserver.py
user1 14803 0.0 0.4 4358656 74252 ?? S 10:31am 0:06.30 python -B /path/to/jsonserver.py -p cxda 51380 -e /path/to/folders/,/path/to/other/folder/ 7973
user1 14787 0.0 0.2 4312684 26444 ?? S 10:31am 0:00.53 python -B /path/to/jsonserver.py -p cxda 51357 -e /path/to/folders/,/path/to/other/folder/ 7973
结果显示,我有两个JSONServer使用相同的端口运行。
因此,我使用命令
+shift
+p
在Sublime中禁用了anaconda,并搜索包控制:禁用包
。只需键入disa
,它就会立即出现
禁用包后,我终止了两个进程
$ kill 14803
$ kill 14787
$ ps aux | grep jsonserver
user1 17220 0.0 0.0 4277272 840 s001 S+ 10:52am 0:00.00 grep jsonserver.py
然后,我使用
命令+shift
+p
通过sublime中的package控件启用了包。启用该包将启动一个新的jsonserver.py。这为我解决了这个问题。只需在sublime 3控制台中输入这个:查看->显示控制台
“导入套接字;socket.socket(socket.AF_INET,socket.SOCK_STREAM).connect((“本地主机”,50390))”
50390是一个不同的数字。我在OSX上也遇到了同样的问题,并且尝试了你在网络上找到的几乎所有解决方案。这个问题似乎与json服务器响应时间的延迟有关,因此当它超过2秒时,就会出现错误
有两种可能的解决办法:
第一种方法是增加超时时间:
更改/anaconda_lib/workers/local_worker.py
从
到
在抛出错误之前,这会给您多一点时间来执行服务器检查,从而帮助您处理错误
第二种方法是更改anaconda日志文件的权限,以确保它归您的用户所有,如原始贡献者所述:
蟒蛇行动缓慢,jsonserver崩溃
如果您使用的是POSIX系统(Linux或OSX),请查看所有者
在anaconda的jsonserver日志文件中,它们必须由您的
用户或jsonserver将无法启动。日志文件可以是
位于:
GNU/Linux:~/.local/share/anaconda/logs
OSX:~/Library/Logs/anaconda
Windows:%APPDATA%\Anaconda\Logs
我就是这样解决这个问题的:
1-删除~/Library/Logs/anaconda目录
2-运行升华文本并打开一些.py文件,直到anaconda重新创建目录
3-为计算机上的每个用户(管理员、每个人等)授予该文件夹及其子目录的读/写权限
有一个很好的机会,你必须不时重复上述步骤。在水蟒逼我这么做之前,我自愿这么做
更新
我发现问题也可能是由VPN连接引起的,因此每次我连接和断开连接时都会出现此错误。这是一个已知的问题,他们(在撰写本文后的4天内)仍在研究此问题,请参见#514。虽然此答案可能解决问题,它没有解释它是如何或为什么这样做的。它是崇高文本中的首选项。
timeout = get_socket_timeout(0.2)
timeout = get_socket_timeout(1)