Sublime Text 3:Anaconda包错误连接到localhost超时

时间:2017-01-25 11:07:18

标签: python sublimetext3 anaconda python-3.5 sublime-text-plugin

启动sublime text 3时,我收到一条奇怪的错误消息。

启动时,我收到以下错误。

Window Error

以下是我系统的一些背景知识:

Windows 10

Sublime Text 3(通过Sublime Text软件包安装程序安装的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:\Users\joshu>python --version
Python 3.5.2 :: Anaconda 4.2.0 (64-bit)

来自sublime text 3 console:

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']

第一个问题是我不知道如何“检查是否有Python进程执行anaconda jsonserver.py脚本”。

但最终我对如何解决这个问题感到很失望。

我的'测试'看看anaconda是否正常工作是尝试导入Numpy(这不起作用..没有检测到模块)。

我确实将以下代码粘贴到了sublime text 3控制台中..看起来没有发生任何事情:

import socket; socket.socket(socket.AF_INET, socket.SOCK_STREAM).connect(("localhost", 59552))

7 个答案:

答案 0 :(得分:2)

设置:

“ swallow_startup_errors”:是,

答案 1 :(得分:1)

更新:我通过在sublime文本下的AppData目录中搜索jsonserver.py文件找到了它。

Sublime Text控制台:

import sys
print(sys.path)

将路径复制到文件exploere中的Sublime Text 3 Anaconda文件夹,然后我搜索了jsonserver.py

当我尝试打开文件时,它会自行关闭。不确定这是好事还是坏事。

最终我删除了然后重新安装了Anaconda包。这似乎解决了这个问题(虽然我不确定根本原因:/)

答案 2 :(得分:1)

我在OS X上遇到了同样的问题,并尝试了几乎可以在网上找到的所有解决方案。该问题似乎与json服务器响应时间延迟有关,因此当它超过2秒时,您会收到错误消息。

有两种可能的解决方法:

第一种方法是增加超时时间:

更改/anaconda_lib/workers/local_worker.py中的第33行

来自

timeout = get_socket_timeout(0.2)

timeout = get_socket_timeout(1)

通过在抛出错误之前花更多的时间执行服务器检查,这应该可以帮助您解决错误。

第二种方法是通过更改anaconda日志文件的权限,以确保该文件归您的用户所有,如原始贡献者所述:

Anaconda行为缓慢且jsonserver崩溃

如果您使用的是POSIX系统(Linux或OS X),请查看所有者 anaconda的jsonserver日志文件,它们必须归您所有 用户或jsonserver将无法启动。日志文件可以是 在以下位置找到

GNU / Linux:〜/ .local / share / anaconda / logs

OS X:〜/ Library / Logs / anaconda

Windows:%APPDATA%\ Anaconda \ Logs

这是解决问题的方法:

1-删除〜/ Library / Logs / anaconda目录

2-运行sublime文本并打开一些.py文件,直到anaconda重新创建目录

3-为计算机上的每个用户(管理员,所有人等)授予该文件夹及其子目录的读/写权限

您很有机会不时地重复上述步骤。那是我在蟒蛇让我这样做之前自愿做的事情!

更新

我发现问题也可能是由VPN连接引起的,因此每次我连接和断开连接时都会出现此错误。

答案 3 :(得分:0)

1。注意

我认为,这个问题可能由于其他原因而出现,而不是我的回答中所描述的。你将需要另一种解决方案。

但我的解决方案对我个人而言。

2。答案

如果您未手动运行"jsonserver_debug": true,请勿在设置中设置jsonserver.py

"jsonserver_debug": truepython -B anaconda_server/jsonserver.py -p test 9999 DEBUG Anaconda "jsonserver_debug": true文件夹中的那个,Anaconda工作正常。

3。示范

3.1。意外行为

如果 .py

True

如果我打开"jsonserver_debug": false文件:

Anaconda不起作用(不是示例中的autoformat文件)。

3.2。预期的行为

如果 SELECT c.cdg,ten,IFNULL(efe,0) as efe,tcreated_at FROM (SELECT numB as cdg,COUNT(*) as ten,created_at as tcreated_at FROM dat_records cdr WHERE LEFT(numB,@longitud)= @cod_prov AND type=4 GROUP BY cdg ) c LEFT JOIN (SELECT COUNT(*) as efe, numB,MAX(created_at) as ecreated_at FROM dat_records WHERE LEFT(numB,@longitud)= @cod_prov AND dat_records.time > 1 AND type=4 GROUP BY numB) d ON c.cdg=d.numB AND tcreated_at=ecreated_at WHERE ten > 40 GROUP BY c.cdg HAVING (efe/ten)*100 <30 ORDER BY ten DESC LIMIT 25

False

Anaconda成功的autoformat示例文件。

4。环境

我的环境及时,当我写下这个答案时:

  • Windows 10企业版LTSB 64位EN,
  • Sublime Text Build 3143便携式,
  • Python 3.6.4,全局安装,
  • Anaconda 2.1.25。

答案 4 :(得分:0)

我的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。 因此,我使用command + shift + p在Sublime中禁用了anaconda,并搜索了Package Control: Disable Package。只需键入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

然后,我使用command + shift + p通过包控制通过包控制启用了包。启用该软件包将启动一个新的jsonserver.py。这为我解决了这个问题。

答案 5 :(得分:0)

只需在Sublime 3控制台中输入以下内容:view-> show console

“导入套接字; socket.socket(socket.AF_INET,socket.SOCK_STREAM).connect((” localhost“,50390))”

50390是一个不同的数字。

答案 6 :(得分:0)

以下对我有用: 我将 python.exe 可执行路径添加到 Path 环境变量中。