windows上使用visdom遇到的问题

使用pip install visdom之后
使用visdom 或者python -m visdom.server之后开始出现问题
第一个 卡在
Downloading scripts, this may take a little while

研究了一下,在visdom安装目录下的server.py文件中,在大概1768行:

data = opener.open(req).read()

卡在这一句上了

我在前后加上print大法便于监测:

print('open request...')
data = opener.open(req).read()
print('open finished.')

查看opener的定义,发现这么几行

handler = request.ProxyHandler(proxies) if proxies is not None \
        else request.BaseHandler()
opener = request.build_opener(handler)

发现其实是可以设置代理的。

找到download_scripts函数定义:

def download_scripts(proxies=None, install_dir=None):

发现可以在调用该函数时传入代理地址。

于是开启本地代理,传入代理地址参数形如 proxies={127.0.0.1:端口号}
发现很快就下载好了,如果不用代理会一直卡住。。

另外发现,如果填入无法响应的代理服务器可以显示下载文件的网址。。。

如果你也有代理工具的话可以查看你自己的代理地址,也可以直接在这下载我下载好的,但是不一定能用:(当初花了5积分下载的那个就不能用)
https://pan.baidu.com/s/1Gz4JBTT-l_iZrZxtcBDChg
放到visdom文件夹里,visdom文件夹大概在Anaconda3\envs\你的环境名\Lib\site-packages\visdom中

之后如果正常的话,使用visdom命令应该会显示:
征程的显示
之后我又出了问题,说是没有pwd模块
找了一下问题出在\Lib\getpass.py中
大概在160多行getuser()函数中

for name in ('LOGNAME', 'USER', 'LNAME', 'USERNAME'):
    user = os.environ.get(name)
    if user:
        return user

# If this fails, the exception will "explain" why
import pwd
return pwd.getpwuid(os.getuid())[0]

发现pwd其实是为linux写的,windows中没有这个库。
就先把它注释掉。
之后还是会出错
TypeError: expected string or bytes-like object
估计大概是user出问题,因为运行

import os
for name in ('LOGNAME', 'USER', 'LNAME', 'USERNAME'):
    user = os.environ.get(name)
    print(user)

发现返回的全是None
干脆直接指定一个user名吧

for name in ('LOGNAME', 'USER', 'LNAME', 'USERNAME'):
    # user = os.environ.get(name)
    user = 'Administrator'
    if user:
        return user

然后就发现http://localhost:8097/可以使用了
结果
奥利给!

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值