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 ...
随机推荐
- 521我发誓读完本文,再也不会担心Spring配置类问题了
当大潮退去,才知道谁在裸泳.关注公众号[BAT的乌托邦]开启专栏式学习,拒绝浅尝辄止.本文 https://www.yourbatman.cn 已收录,里面一并有Spring技术栈.MyBatis.中 ...
- scrapy(三):post请求
-- coding: utf-8 -- ''' QiuBai.py 爬虫文件 ''' -- coding: utf-8 -- import scrapy class PostSpider(scrapy ...
- Prometheus + Grafana 监控(mysql 和redis)
1.监控MySQL(mysqld-exporter) https://github.com/prometheus/mysqld_exporter/releases/download/v0.11.0/m ...
- Python之爬虫(二十五) Scrapy的中间件Downloader Middleware实现User-Agent随机切换
总架构理解Middleware 通过scrapy官网最新的架构图来理解: 这个图较之前的图顺序更加清晰,从图中我们可以看出,在spiders和ENGINE提及ENGINE和DOWNLOADER之间都可 ...
- unity-TextAsset
定义: 当把Text files导到unity,将会变成TextAsset. 支持的格式: .txt .html .htm .xml .bytes .json .csv .yaml .fnt 注意 不 ...
- bzoj1742[Usaco2005 nov]Grazing on the Run 边跑边吃草*&&bzoj3074[Usaco2013 Mar]The Cow Run*
bzoj1742[Usaco2005 nov]Grazing on the Run 边跑边吃草 bzoj3074[Usaco2013 Mar]The Cow Run 题意: 数轴上有n棵草,牛初始在L ...
- T1 找试场 题解
拖延症又犯了QwQ. 今天上午考试了,按照惯例,我仍然要把我会的所有题的题解写一遍. 1.找试场(way.cpp/in/out) 问题描述 小王同学在坐标系的(0,0)处,但是他找不到考试的试场,于是 ...
- 学会Markdown不仅可以用来编写文档,还可以制作自己的简历,真香!
程序员的简历要简洁明了,不要太多花哨的修饰,突出重点即可,使用markdown就可以很好的满足写一份简历的需求 Markdown 简历模板 这里我贡献一下我自己的markdown简历模板,简历效果如下 ...
- vue : 项目起手式 - router组件通用模板
每次新建文件都要找来找去,麻烦,干脆贴到这里好了. <template> <div id="page"> </div> </templat ...
- 「从零单排canal 05」 server模块源码解析
基于1.1.5-alpha版本,具体源码笔记可以参考我的github:https://github.com/saigu/JavaKnowledgeGraph/tree/master/code_read ...