美文网首页
visdom启动慢

visdom启动慢

作者: blair_liu | 来源:发表于2021-01-21 22:16 被阅读0次
python -m visdom.server

然后就一直卡在如下画面


启动卡住

解决办法
下载下面的压缩包,解压(PS:如果你看完全文,你会跳转到最后下载那个版本而不是这个)

visdom 0.1.8.5版本的
https://wwx.lanzoux.com/iUtRBknwimf 密码:ergy

找visdom库的位置
方法一:在python里运行

import os
import visdom
print(os.path.dirname(visdom.__file__))

即可得到

方法二:find命令

find / -name "visdom"

例如我的:/opt/conda/lib/python3.8/site-packages/visdom
将刚刚解压后的文件夹复制到那即可

cp -r ./static /opt/conda/lib/python3.8/site-packages/visdom

注意:以上是针对0.1.8.5的visdom,如果是0.1.8.5那么就可以了
版本高于0.1.8.5的visdom

import visdom
print(os.path.dirname(visdom.__version__))

查看visdom版本
比如:0.1.8.9
则再运行一句:

echo '0.1.8.9' > /opt/conda/lib/python3.8/site-packages/visdom/static/version.built

测试一下:

python -m visdom.server

成功启动visdom



写在最后,不深究的话可以不用看
其实在启动vidom会运行一下/opt/conda/lib/python3.8/site-packages/visdom/server.py里最下面有个调用download_scripts()
所有下载都在download_scripts()里,上面的过程也是基于这个函数写的

# function that downloads and installs javascript, css, and font dependencies:
def download_scripts(proxies=None, install_dir=None):
    import visdom
    print("Checking for scripts.")

    # location in which to download stuff:
    if install_dir is None:
        install_dir = os.path.dirname(visdom.__file__)

    # all files that need to be downloaded:
    b = 'https://unpkg.com/'
    bb = '%sbootstrap@3.3.7/dist/' % b
    ext_files = {
        # - js
        '%sjquery@3.1.1/dist/jquery.min.js' % b: 'jquery.min.js',
        '%sbootstrap@3.3.7/dist/js/bootstrap.min.js' % b: 'bootstrap.min.js',
        '%sreact@16.2.0/umd/react.production.min.js' % b: 'react-react.min.js',
        '%sreact-dom@16.2.0/umd/react-dom.production.min.js' % b:
            'react-dom.min.js',
        '%sreact-modal@3.1.10/dist/react-modal.min.js' % b:
            'react-modal.min.js',
        'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_SVG':  # noqa
            'mathjax-MathJax.js',
        # here is another url in case the cdn breaks down again.
        # https://raw.githubusercontent.com/plotly/plotly.js/master/dist/plotly.min.js
        'https://cdn.plot.ly/plotly-latest.min.js': 'plotly-plotly.min.js',
        # Stanford Javascript Crypto Library for Password Hashing
        '%ssjcl@1.0.7/sjcl.js' % b: 'sjcl.js',

        # - css
        '%sreact-resizable@1.4.6/css/styles.css' % b:
            'react-resizable-styles.css',
        '%sreact-grid-layout@0.16.3/css/styles.css' % b:
            'react-grid-layout-styles.css',
        '%scss/bootstrap.min.css' % bb: 'bootstrap.min.css',

        # - fonts
        '%sclassnames@2.2.5' % b: 'classnames',
        '%slayout-bin-packer@1.4.0/dist/layout-bin-packer.js' % b:
            'layout_bin_packer.js',
        '%sfonts/glyphicons-halflings-regular.eot' % bb:
            'glyphicons-halflings-regular.eot',
        '%sfonts/glyphicons-halflings-regular.woff2' % bb:
            'glyphicons-halflings-regular.woff2',
        '%sfonts/glyphicons-halflings-regular.woff' % bb:
            'glyphicons-halflings-regular.woff',
        '%sfonts/glyphicons-halflings-regular.ttf' % bb:
            'glyphicons-halflings-regular.ttf',
        '%sfonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular' % bb:  # noqa
            'glyphicons-halflings-regular.svg#glyphicons_halflingsregular',
    }

    # make sure all relevant folders exist:
    dir_list = [
        '%s' % install_dir,
        '%s/static' % install_dir,
        '%s/static/js' % install_dir,
        '%s/static/css' % install_dir,
        '%s/static/fonts' % install_dir,
    ]
    for directory in dir_list:
        if not os.path.exists(directory):
            os.makedirs(directory)

    # set up proxy handler:
    from six.moves.urllib import request
    from six.moves.urllib.error import HTTPError, URLError
    handler = request.ProxyHandler(proxies) if proxies is not None \
        else request.BaseHandler()
    opener = request.build_opener(handler)
    request.install_opener(opener)

    built_path = os.path.join(here, 'static/version.built')
    is_built = visdom.__version__ == 'no_version_file'
    if os.path.exists(built_path):
        with open(built_path, 'r') as build_file:
            build_version = build_file.read().strip()
        if build_version == visdom.__version__:
            is_built = True
        else:
            os.remove(built_path)
    if not is_built:
        print('Downloading scripts, this may take a little while')

    # download files one-by-one:
    for (key, val) in ext_files.items():

        # set subdirectory:
        if val.endswith('.js'):
            sub_dir = 'js'
        elif val.endswith('.css'):
            sub_dir = 'css'
        else:
            sub_dir = 'fonts'

        # download file:
        filename = '%s/static/%s/%s' % (install_dir, sub_dir, val)
        if not os.path.exists(filename) or not is_built:
            req = request.Request(key,
                                  headers={'User-Agent': 'Chrome/30.0.0.0'})
            try:
                data = opener.open(req).read()
                with open(filename, 'wb') as fwrite:
                    fwrite.write(data)
            except HTTPError as exc:
                logging.error('Error {} while downloading {}'.format(
                    exc.code, key))
            except URLError as exc:
                logging.error('Error {} while downloading {}'.format(
                    exc.reason, key))

    if not is_built:
        with open(built_path, 'w+') as build_file:
            build_file.write(visdom.__version__)

它下载也就是下载static文件夹
对于为什么要

echo '0.1.8.9' > /opt/conda/lib/python3.8/site-packages/visdom/static/version.built

是因为download_scripts()里面这一小段

built_path = os.path.join(here, 'static/version.built')
is_built = visdom.__version__ == 'no_version_file'
    if os.path.exists(built_path):
        with open(built_path, 'r') as build_file:
            build_version = build_file.read().strip()
        if build_version == visdom.__version__:
            is_built = True
        else:
            os.remove(built_path)
    if not is_built:
        print('Downloading scripts, this may take a little while')

也就是版本号不一致它还是会下载,但是我们就是因为下载不了才卡住的,所以直接改版本号
当然,这样做也是有缺点的,那就是最新版本下载的东西和我们文件夹里的不一样了,那就GG了
所以直接改版本号不是一个好的方式。

我这在提供一个0.1.8.9版本的

下载:https://wwx.lanzoux.com/iNSrhknzr1g 密码:4rkz

如果版本再有更新的话,那就先找能够启动最新版本的电脑拷贝一下static文件夹吧

相关文章

  • visdom启动慢

    然后就一直卡在如下画面 解决办法下载下面的压缩包,解压(PS:如果你看完全文,你会跳转到最后下载那个版本而不是这个...

  • Visdom不能正常启动问题,python -m visdom.

    原文链接:https://blog.csdn.net/zl1107604962/article/details/1...

  • visdom

  • pytorch visdom

    https://ptorch.com/news/77.html

  • TensorboardX & visdom

    linux远程连接下tensorboard的使用[https://zhuanlan.zhihu.com/p/936...

  • 解决tomcat启动慢问题

    启动慢修改如下:

  • Andoroid性能优化

    一、页面启动优化: 页面启动慢主要有2种页面渲染慢和java代码初始化慢的问题。 页面渲染: 1、最少布局嵌套 布...

  • 慢启动与坚持

    慢启动并不是慢热。 “慢启动”这件事,是试着理解事物发展内部逻辑,必须要了解自己。 还要学会“不计后果”地去做某件...

  • 访问远程Visdom

    1. 连接ssh时,将服务器的8097端口重定向到自己机器上来: 其中:18097:127.0.0.1代表自己机器...

  • visdom 不工作

    服务正常启动,但是用代码画的东西就是不显示在界面上。打开控制台发现提示信息是: 而正常的情况应该是 起码得有个po...

网友评论

      本文标题:visdom启动慢

      本文链接:https://www.haomeiwen.com/subject/gaadzktx.html