我为崇高安装了IJulia包。当我开始崇高时,我得到了ZMQ shared library not found...
。
我试图从朱莉娅那里找到ZMQ:
julia> using ZMQ
julia> println(ZMQ.zmq)
C:\Users\Nick\.julia\v0.3\WinRPM\deps\usr\x86_64-w64-mingw32\sys-root\mingw\bin\libzmq.DLL
我打开包设置 - IJulia - 用户,修改了这一行中的路径:
"zmq_shared_library": "~/.julia/v0.3/WinRPM/deps/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libzmq.dll",
重新启动sublime,我得到了这个:
Unable to find an entry point ... libstdc++-6.dll
我应该做什么?
环境:
Windows 7, 64-bit
Julia v"0.3.8"
Sublime text 3
更新 - 内核死亡
我发现这里存在一个问题:
https://github.com/quinnj/Sublime-IJulia/issues/64
引用:
tildebyte于2月28日发表评论
回答我自己的问题:libstdc ++ - 6.dll存在于两个地方:Sublime 文本3 Beta \ Data \ Packages \ IJulia \ windeps和 .julia \ V0.3 \ WinRPM \ DEPS的\ usr \ x86_64的-W64-的mingw32 \ SYS-ROOT \ MinGW的\ bin中。 即,与插件一起发货的版本与该插件不匹配 libzmq与之相关联。我通过复制ZMQ的libstdc DLL来修复它 从mingw \ bin进入插件的windeps目录。所以,是的,我同意: @ M-Marz libzmq可能与插件不匹配或者他有 另一个libzmq在路径的某个地方,ST首先找到它。
所以我尝试将libstdc++-6.dll
从.julia\v0.3\WinRPM\deps\usr\x86_64-w64-mingw32\sys-root\mingw\bin
复制到Sublime Text 3 Beta\Data\Packages\IJulia\windeps
。
崇高停止抱怨未找到ZMQ库或无法找到切入点;但是,当我尝试Ctrl-shift-p, open ijulia
时,我得到***kernel died***
。
我搜索了我的系统,发现有几个libstdc++-6.dll
用于几个单独的应用程序:Julia,Evernote,VLC ......
我怎么能弄清楚出了什么问题?
更新 - "内核死了"解决了
我在这里发现了同样的问题:
https://github.com/quinnj/Sublime-IJulia/issues/60
感谢@GregPlowman:
最后,经过多次游戏,我成功获得了Sublime-IJulia 在Windows上工作。
似乎某些文件路径的处理方式不同。 (也许有些人 Windows直接使用,其他人由Julia进行一些解析吗?)。
无论如何,需要注意Windows上的文件路径:
absolute or relative quoting entire pathname (especially important if path name has spaces) path separators ( forward or back slash / vs \ )
我玩了许多组合,真的很困惑。 但是我认为Julia可执行路径应该是绝对的,引用 (如果路径名中有空格)并使用反斜杠。 ZMQ和内核路径名 可以是相对的,应该是不带引号的,并使用正斜杠分隔符。
这是来自Sublime用户设置文件的Windows摘录 对我来说:
" windows":{ " zmq_shared_library":"〜/ .julia / v0.3 / ZMQ / deps / usr / lib / libzmq.dll",
"命令":[ { " command_name":"默认", " julia":" \" C:\ Program Files \ Julia-0.3.5 \ bin \ julia.exe \"", " julia_args":"", " ijulia_kernel":"〜/ .julia / v0.3 / IJulia / src / kernel.jl" } ]}请注意,引用路径名称时使用\",并使用反斜杠路径 分隔符使用\。
干杯,格雷格
经验教训
当一个开放式软件出错时,找到解决方案的第一个地方就是来自github的问题。感谢@tidlebyte和@GregPlowman。 (他们两个都解决了这个问题,并自己找到了解决方案。)
答案 0 :(得分:2)
简要回答:
未找到ZMQ库的解决方案
第1步:
(1)从IJulia包装设置中复制所有内容 - 默认为包装设置 - 用户。
(2)查找ZMQ lib路径
julia> using ZMQ
julia> ZMQ.zmq
"C:\\Users\\Nick\\.julia\\v0.3\\WinRPM\\deps\\usr\\x86_64-w64-mingw32\\sys-root\\mingw\\bin\\libzmq.DLL"
(3)根据(2)修改zmq_shared_library
路径。
第2步:将libstdc++-6.dll
从C:\\Users\\Nick\\.julia\\v0.3\\WinRPM\\deps\\usr\\x86_64-w64-mingw32\\sys-root\\mingw\\bin\\
复制到C:\Users\Nick\AppData\Roaming\Sublime Text 3\Packages\IJulia\windeps
。 (是的,覆盖。)
内核死亡解决方案
修改IJulia包设置中的路径 - 用户
"windows": {
"zmq_shared_library": "C:/Users/Nick/.julia/v0.3/WinRPM/deps/usr/x86_64-w64-mingw32/sys-root/mingw/bin/libzmq.DLL",
"commands": [
{
"command_name": "default",
// "julia": "julia-readline.exe",
"julia": "\"C:\\application\\Julia-0.3.8\\bin\\julia.exe\"",
"julia_args": "",
"ijulia_kernel": "~/.julia/v0.3/IJulia/src/kernel.jl"
}
]
}
特别注意路径上的引号。特别是\"
引用整条路径。
再次感谢@tidlebyte和@GregPlowman的早期探索和解决方案。如果有人遇到上述任何一个步骤,请告诉我。