启动sublime text 3时,我收到一条奇怪的错误消息。
启动时,我收到以下错误。
以下是我系统的一些背景知识:
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))
答案 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)
我认为,这个问题可能由于其他原因而出现,而不是我的回答中所描述的。你将需要另一种解决方案。
但我的解决方案对我个人而言。
如果您未手动运行"jsonserver_debug": true
,请勿在设置中设置jsonserver.py
。
"jsonserver_debug": true
,python -B anaconda_server/jsonserver.py -p test 9999 DEBUG
Anaconda
"jsonserver_debug": true
文件夹中的那个,Anaconda工作正常。
如果 .py
:
如果我打开"jsonserver_debug": false
文件:
Anaconda不起作用(不是示例中的autoformat文件)。
如果 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
:
Anaconda成功的autoformat示例文件。
我的环境及时,当我写下这个答案时:
答案 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 环境变量中。