python 版本 jaeger-client 导入失败 jaeger-client-python
环境为:
OS: ubuntu18.04
Python: 3.6
问题原因:
尝试使用 jaeger-client-python,官方给出的示例(https://github.com/jaegertracing/jaeger-client-python ReadMe文件中所述),出现了下面错误
Traceback (most recent call last):
File "jaeger.py", line 3, in <module>
from jaeger_client import Config
File "/usr/local/lib/python3.6/dist-packages/jaeger_client/__init__.py", line 27, in <module>
from .config import Config # noqa
File "/usr/local/lib/python3.6/dist-packages/jaeger_client/config.py", line 26, in <module>
from .reporter import (
File "/usr/local/lib/python3.6/dist-packages/jaeger_client/reporter.py", line 32, in <module>
from jaeger_client.thrift_gen.agent import Agent
File "/usr/local/lib/python3.6/dist-packages/jaeger_client/thrift_gen/agent/Agent.py", line 13, in <module>
from .ttypes import *
File "/usr/local/lib/python3.6/dist-packages/jaeger_client/thrift_gen/agent/ttypes.py", line 12, in <module>
import jaeger.ttypes
File "/mnt/d/code/doc2/13_jaeger/jaeger.py", line 3, in <module>
from jaeger_client import Config
ImportError: cannot import name 'Config'
经过查找发现是在 thrift 生成的文件中导入包出错
解决方案:重新打包 .whl 安装包
step1:下载 jaeger-client-python 源码
step2:修改代码如下
文件1:./jaeger_client/thrift_gen/agent/ttypes.py 中,找到
import jaeger.ttypes
修改为:
from jaeger_client.thrift_gen.jaeger import ttypes as jaeger_ttypes
文件2:./jaeger_client/thrift_gen/agent/Agent.py 中,找到
...
thrift_spec = (
None, # 0
(1, TType.STRUCT, 'batch', (jaeger.ttypes.Batch, jaeger.ttypes.Batch.thrift_spec), None, ), # 1
)
... if fid == 1:
if ftype == TType.STRUCT:
self.batch = jaeger.ttypes.Batch()
self.batch.read(iprot)
else:
...
修改其中的 jaeger.ttypes 为 jaeger_ttypes
step3:在代码根目录下执行编译
python3 setup.py sdist bdist_wheel
完成后,生成的文件在 ./dist 下面,有 .whl 和 tgz 两种格式
python 版本 jaeger-client 导入失败 jaeger-client-python的更多相关文章
- python 2.7 pip导入django,将python部署到sublime上
1.安装python 2.7,并且导入第三方库django 下载python 2.7,然后把python2.7的python.exe的路径和pip的路径添加到系统环境变量的path路径下. win+R ...
- python sklearn.cross_validation 模块导入失败
参考链接: https://blog.csdn.net/Jae_Peng/article/details/79277920 解决办法: 原来在 cross_validation 里面的函数都放在 mo ...
- ubuntu 16.04 更改默认Python版本
一般Ubuntu默认的Python版本都为2.x, 如何改变Python的默认版本呢?假设我们需要把Python3.5设置为默认版本: 首先查看Python默认版本: ubuntu@user~$:py ...
- 更改Ubuntu默认python版本的方法
当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Python 版本,因此系统中会存在多个 Python 的可执行二进制文件.一般Ubuntu默认的Python版本都为2. ...
- anaconda的python版本与本地python版本不同时的问题
在用anaconda,尤其是win下的时候,本地的python版本可能和虚拟环境中需要的python版本不同,而在虚拟环境中使用pip3安装包的时候,仍会出现版本是本地的python版本的情况,虽然并 ...
- 使用pyenv与pyenv-virtualenv管理Python版本与虚拟环境
在上一篇博客中,我介绍了如何在ubutnu 18.04中安装pyenv.这一次我将介绍如何使用pyenv与pyenv-virtualenv管理Python版本与虚拟环境. 0.相关命令 首先使用pye ...
- 使用pyenv来管理python版本
使用pyenv可以很方便的切换python版本,而不会影响系统的python版本,对需要使用supervisor(仅支持python2)托管程序,项目使用python3开发的情况十分有用 pyenv的 ...
- Centos 6.8 系统升级默认的Python版本
1.编译安装python2.7 # wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz # Python-2.7.12.tg ...
- 更改Ubuntu默认python版本的两种方法python-> Anaconda
当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Python 版本,因此系统中会存在多个 Python 的可执行二进制文件.一般Ubuntu默认的Python版本都为2. ...
- Python 版本之 Anaconda
https://www.anaconda.com/download/#linux Anaconda概述 Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windo ...
随机推荐
- 双向绑定和 vuex 是否冲突
在严格模式下确实有问题,解决方案: https://vuex.vuejs.org/zh/guide/forms.html
- 微信支付之获取code
微信支付之获取code, 1:访问下面的连接(自己拼) 2:去回调地址里拿code https://open.weixin.qq.com/connect/oauth2/authorize?appid= ...
- Ubuntu下编译安装postgreSQL 10.5
Ubuntu下编译安装postgreSQL 10.5 ubuntu 16.04 LTS系统postgreSQL 10.5 安装包准备 1.从PostgreSQL官网下载PostgreSQL的安装包 安 ...
- 机器学习实战基础(二十二):sklearn中的降维算法PCA和SVD(三) PCA与SVD 之 重要参数n_components
重要参数n_components n_components是我们降维后需要的维度,即降维后需要保留的特征数量,降维流程中第二步里需要确认的k值,一般输入[0, min(X.shape)]范围中的整数. ...
- Knn和K-means
先开个标题,以后慢慢填充. k近邻算法(knn)属于监督学习 一. 三个关键点:1.k的取值,当k值较小时,选取点较少,相当于会有在较小的范围内进行学习预测,学习误差会减小,但是估计误差会增大,因为训 ...
- Quartz.Net系列(十三):DateBuilder中的API详解
1.DateOf.ToDayAt.TomorrowAt DateOf:指定年月日时分秒 public static DateTimeOffset DateOf(int hour, int minute ...
- 6 个珍藏已久 IDEA 小技巧,这一波全部分享给你!
每周趣图 产品经理设计体验/用户实际体验 本周就不写技术分析文章了,分享几个珍藏已久的 IDEA 的「骚技巧」,助你快速完成代码. 还等什么?赶紧上车吧...... 先赞后看,养成习惯.微信搜索「程序 ...
- SQL注入环境的搭建
使用Phpstudy搭建SQL注入环境: 1.下载phpstudy安装 2.下载sql实验环境 所用环境的代码是一个印度人的开源项目平台.里面包含了基本的各种注入类型,同时又有get和post类型,以 ...
- springboot application.yml配置学习
一.背景 为了更好的使用springboot,所以看一下application.yml配置这块.主要是看数据绑定这块. 主要参考:https://www.hangge.com/blog/cache/d ...
- iview实战 : 全屏去头去尾的弹窗
<template> <Button @click="modal3 = true" >No title bar</Button> <Mod ...