Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
sys.stdout.write("\r%.2f%%, %d MB, %d KB/s, 还有 %d 分 %2d 秒 " %
(percent, progress_size / (1024 * 1024), speed, minutes, seconds))
sys.stdout.flush()
import socket
socket.setdefaulttimeout(10)
urllib.urlretrieve(url, tmp_path, reporthook)
print()
except BaseException as e:
eprint('下载失败 {} 由于 {}'.format(url, repr(e)))
doc_url = 'https://github.com/hankcs/pyhanlp'
eprint('请参考 %s 执行手动安装.' % doc_url)
eprint('或手动下载 {} 到 {}'.format(url, path))
if os.path.isfile(tmp_path):
os.remove(tmp_path)
browser_open(doc_url)
exit(1)
remove_file(path)
os.rename(tmp_path, path)
return True
print("加载 HanLP jar [%s] ..." % HANLP_JAR_PATH)
print("加载 HanLP config [%s/hanlp.properties] ..." % (STATIC_ROOT))
print("加载 HanLP data [%s/data] ..." % (STATIC_ROOT))
java_url = 'https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html'
pathsep = os.pathsep
jvm_path = None
try:
jvm_path = getDefaultJVMPath()
except JVMNotFoundException as e:
eprint('找不到Java,请安装JDK8:%s' % java_url)
browser_open(java_url)
exit(1)
except JVMNotSupportedException as e:
eprint('Java位数与Python不一致,请重新安装一致的Java、Python、JPype1(必须都为32位或64位)')
browser_open(java_url)
exit(1)
if platform.system().startswith('CYGWIN'):
if not jvm_path.startswith('/cygdrive'): # CYGWIN 使用了宿主机器的JVM,必须将路径翻译为真实路径
pathsep = ';'
if STATIC_ROOT.startswith('/usr/lib'):
cygwin_root = os.popen('cygpath -w /').read().strip().replace('\\', '/')
STATIC_ROOT = cygwin_root + STATIC_ROOT[len('/usr'):]
HANLP_JAR_PATH = cygwin_root + HANLP_JAR_PATH[len('/usr'):]
PATH_CONFIG = cygwin_root + PATH_CONFIG[len('/usr'):]
elif STATIC_ROOT.startswith('/cygdrive'):
driver = STATIC_ROOT.split('/')
cygwin_driver = '/'.join(driver[:3])
win_driver = driver[2].upper() + ':'
HANLP_JAR_PATH = HANLP_JAR_PATH.replace(cygwin_driver, win_driver)
STATIC_ROOT = STATIC_ROOT.replace(cygwin_driver, win_driver)
PATH_CONFIG = PATH_CONFIG.replace(cygwin_driver, win_driver)