python3环境配置tap模块问题及解决方案

python网络编程(tap详细解析) 【代码】python网络编程(tap详细解析) 阅读详情
AI摘要

文章讲述了在conda环境中使用Python3.8时遇到的两个主要问题:一是`mc_bin_client.py`文件中的`MemcachedError`语法错误,需要将`exceptMemcachedError,e:`改为`exceptMemcachedErrorase:`;二是`importexceptions`在Python3中不再被支持,应直接继承`Exception`。此外,还提到了`memcacheConstants`导入方式的修正。

conda环境是python=3.8,代码中使用了tap模块

from tap import Tap

问题1

python2和python3语法冲突

 File "/home/cedric/anaconda3/envs/decision_diffuser_env/lib/python3.8/site-packages/tap.py", line 6, in <module>
    from mc_bin_client import mc_bin_client, memcacheConstants as Constants
  File "/home/cedric/anaconda3/envs/decision_diffuser_env/lib/python3.8/site-packages/mc_bin_client/mc_bin_client.py", line 278
    except MemcachedError, e:
                         ^
SyntaxError: invalid syntax

解决方案

修改mc_bin_client.py文件,第278,369,396行

改为:

except MemcachedError as e:

问题2

python2中的exceptions模块在python3中不再支持

  File "/home/cedric/anaconda3/envs/decision_diffuser_env/lib/python3.8/site-packages/tap.py", line 6, in <module>
    from mc_bin_client import mc_bin_client, memcacheConstants as Constants
  File "/home/cedric/anaconda3/envs/decision_diffuser_env/lib/python3.8/site-packages/mc_bin_client/mc_bin_client.py", line 11, in <module>
    import exceptions
ModuleNotFoundError: No module named 'exceptions'

解决方案

  1. 把 import exception注掉,python3不用导入,直接继承Exception
  2. 第24行,改为
class MemcachedError(Exception):

问题3

memcacheConstants 的导入方式

from memcacheConstants import REQ_MAGIC_BYTE, RES_MAGIC_BYTE
from memcacheConstants import REQ_PKT_FMT, RES_PKT_FMT, MIN_RECV_PACKET
from memcacheConstants import SET_PKT_FMT, INCRDECR_RES_FMT
import memcacheConstants

解决方案

改为

from .memcacheConstants import REQ_MAGIC_BYTE, RES_MAGIC_BYTE
from .memcacheConstants import REQ_PKT_FMT, RES_PKT_FMT, MIN_RECV_PACKET
from .memcacheConstants import SET_PKT_FMT, INCRDECR_RES_FMT
from . import memcacheConstants

【Python】Parser通常用法 Parser在Python程序中经常使用,使用前需要import argparse,简单来说argparse模块就是对参数进行设置。 阅读详情

相关推荐

[已解决] Cython.Compiler.Errors.CompileError: /root/anaconda3/envs/mujoco_env/lib/python3.8/site-packag

解决方法:更换Cython版本。

CCCDeric的博客 2万+

ImportError: cannot import name ‘Tap‘ from ‘tap‘

在使用pip install tap时,默认的安装版本为tap-0.2,该版本中没有Tap类,在运行from tap import Tap时就会报错:ImportError: cannot import name 'Tap' from 'tap'解决办法:我对比了不同版本,希望找到tap中包含Tap类,最后在一个github上找到了最新的,

weixin_43689355的博客 2295

python3爬虫实战(二):用Appium抓取手机app微信的数据

一、前言 上一篇小说爬的是电脑端的静态网址,一直想爬手机端app数据的抓取,研究有好几天了,在网上也找了各种教程,差点挂在appium的环境安装。本编教程从appium的环境配置开始到抓取手机app微信朋友圈结束。 二、参考博文 以下网址对于这篇教程非常重要,感谢分享 悠悠博主appium+python环境搭建:https://www.cnblogs.com/yoyoketa...

Fan_shui的博客 1万+

安装完tap库后运行报错SyntaxError: multiple exception types must be parenthesized

File "/home/jie/桌面/CFDBench/src/train.py", line 17, in File "/home/jie/桌面/CFDBench/src/utils.py", line 11, in File "/home/jie/桌面/CFDBench/src/args.py", line 1, in 思路,就是tap里依赖的一个py文件对应的是python2.0的语法,改成3.0的语法就行了。

weixin_44162814的博客 1048

Mac平台Unity集成XLua避坑指南:从环境配置到热更新实战

热更新是游戏开发中实现逻辑动态部署、避免重新打包审核的关键技术,其核心原理在于将脚本与资源分离,通过运行时加载新资源包替换旧逻辑。在Unity引擎中,集成Lua等脚本语言是实现热更新的主流方案,它能在C#与脚本间建立高效桥梁,兼顾开发效率与运行时性能。对于使用Mac(尤其是Apple Silicon芯片)的开发者而言,环境配置与工具链兼容性常成为集成过程中的主要障碍。本文聚焦于**Mac平台**,系统梳理了从JDK、Python环境准备,到解决文件权限、App Translocation隔离、生成代码失败等

weixin_34043301的博客 296

Spark环境配置四层契约:JVM/Python/Hadoop/本地层协同指南

Apache Spark并非独立可执行程序,而是运行在JVM之上的分布式计算框架,其稳定运行依赖JVM版本、Scala/Python运行时、Hadoop兼容层与本地存储网络四层技术契约的严格对齐。理解Spark环境的本质,是掌握字节码兼容性、py4j进程通信机制、hadoop-client抽象接口及临时目录权限控制等核心原理的前提;它直接决定类加载失败、序列化异常、文件系统不可用等高频故障能否被精准归因。该技术价值在于将模糊的‘配环境’转化为可验证、可复现、可CI自动化的工程实践,广泛应用于本地开发调试、算

weixin_34197488的博客 439

Python TUN/TAP Wrapper 开源项目安装与使用教程

Python TUN/TAP Wrapper 开源项目安装与使用教程 1. 项目目录结构及介绍 项目地址:https://github.com/montag451/pytun.git 以下是python-pytun项目的基本目录结构及其简介: . ├── cpytun.c # 主要的C语言实现部分,用于TUN/TAP设备的底层操作。 ├── github ...

gitblog_01126的博客 532

Python scnt-tap-facebook 包完全指南

scnt-tap-facebook 是一个基于 Python 的第三方库,旨在简化从 Facebook Graph API 获取数据的流程,帮助开发者快速实现帖子、评论、用户信息等数据的抓取与处理。

王国平的博客 81

python的环境配置以及Linux使用

python的环境配置以及Linux使用安装VM舍不得删部分(可略过)linux基础操作命令linux命令拓展了解python如何插入一段漂亮的代码片python特点Python能做什么:Python的运行Python支持数据类型:变量:自定义表示符,用来代表某个值布尔类型bool:Nonetype 类型:内建函数转义字符:\ 你好! 一般家里的系统都是windows,而python是基于lin...

weixin_44855786的博客 238

MacBook安装Python 3.7:用pyenv实现多版本共存

在MacOS环境下配置Python开发环境时,如何兼顾系统稳定性与多版本需求是开发者常遇到的难题。系统自带的Python版本往往与项目要求不一致,而直接安装官方安装包可能覆盖默认环境,导致依赖冲突。pyenv作为轻量级的Python版本管理工具,通过用户级目录隔离不同解释器,允许随时切换全局或本地版本,且无需修改系统文件。其核心原理在于利用shims机制动态劫持python命令,结合编译参数可灵活适配Apple Silicon或Intel芯片。这种方案特别适合需要维护旧项目或同时开发多个Python服务的场

weixin_34347651的博客 213

让 AI 学会“慢思考”:MCP Sequential Thinking 深度部署与使用指南

摘要: MCP Sequential Thinking 是一种让AI具备"慢思考"能力的技术,通过动态调整思维路径解决复杂问题。本文详细介绍了在Windows、macOS和Linux系统下的部署方法,包括环境准备、配置文件修改等步骤。该技术通过"产生想法-评估需求-修正路径"的循环机制,显著提升AI在代码设计、数学证明等复杂任务中的表现。文章还提供了验证安装方法、使用示例和常见问题解答,帮助开发者解锁AI的深层思考能力。(149字)

weixin_43236925的博客 1907

Hammertime 项目常见问题解决方案

Hammertime 项目常见问题解决方案 项目基础介绍 Hammertime 是一个用于测试、分析和模拟 DRAM 缺陷(Rowhammer)的软件套件。该项目基于 RAMSES 地址转换库构建,旨在帮助研究人员和开发者评估系统对 Rowhammer 攻击的脆弱性。Hammertime 主要包含两个核心组件: Profile:用于测试和收集系统对 Rowhammer 攻击的脆弱性数据。 Row...

gitblog_01184的博客 819

大专非科班拿下汇丰外包Java岗:我的TEKSystem面试全流程复盘(含IKM笔试真题)

本文详细记录了一位非科班大专生成功通过TEKSystem面试,拿下汇丰银行Java外包岗位的全过程。从IKM全英文笔试到技术面试,作者分享了7个关键转折点的实战经验,包括简历优化、技术考点、英语面试策略及薪酬谈判技巧,特别适合初级Java开发者参考。

weixin_30074763的博客 393

Claude-TAP 使用分析报告:AI编程代理的 Python 接入与 PyPI 依赖排查

用 Claude-TAP 抓 AI 编程代理流量时,先跑 python3 --version 确认 Python 3.11+,再用 uv tool install claude-tap 装好 PyPI 依赖。启动时用 --tap-target 指向 TaoToken 上游 https://taotoken.net/api,配合 --tap-live 实时查看请求与 Token 用量,快速定位 401 与 local proxy failed。官网 https://taotoken.net/?utm_sour

weixin_36431145的博客 9

STM32开发实战:从嵌入式系统到硬件控制 | 你必须得会

🏆本文收录于「编程与技术实战」专栏,此专栏涵盖了C/C++编程、人工智能、数据结构、机器学习等技术领域的内容,助你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 1045

海康威视摄像机SDK二次开发--提取音频保存至文件

由于最近在开发海康威视摄像头,特此记录一下如何提取音频数据,这里主要依靠语音对讲返回的音频数据,通过回调函数写入文件中,加个WAV头即可播放,编码格式可以自己设置在代码中有注释 文件结构 其中CameraInfo内容可以参看海康威视摄像机SDK二次开发–实时预览视频流保存到指定文件中 HIKSDKSaveRealData中的内容 package ClientDemo; import ClientDemo.CameraInfo; import com.sun.jna.NativeLong; import

RichardoMu的博客 3172

smartcd插件开发指南:创建自定义helper模块的步骤与示例

smartcd是一款能够根据目录自动调整bash或zsh环境的工具,通过helper模块实现环境变量、路径等配置的动态切换。本文将详细介绍如何开发自定义helper模块,帮助你扩展smartcd的功能。 ## 一、了解helper模块结构 在smartcd项目中,helper模块采用标准化的目录结构,每个模块包含三个核心文件: - **meta**:模块元数据文件,包含描述、作者等信息 -

gitblog_00422的博客 914

地平线RDKX3初始配置与USB无线网卡

地平线X3无线网卡配置

Richard_Mei的博客 4076

VeighNa量化交易框架:从入门到实战的完整Python解决方案

在当今数字化交易时代,Python量化交易已成为专业投资者的必备技能。VeighNa作为国内领先的Python量化交易开发框架,为个人投资者和机构用户提供了一站式的量化交易解决方案。无论你是量化交易新手还是经验丰富的开发者,VeighNa都能帮助你快速构建专业级的交易系统。 ## 为什么选择VeighNa框架? VeighNa框架以其**开源免费、模块化设计、多市场支持**和**强大社区**等

gitblog_00090的博客 274

Obsidian从零搭建:可验证、可回溯、可演进的知识库工具链

个人知识库不是开箱即用的软件,而是基于Markdown内核构建的可演进系统。其核心原理在于分离‘稳定内核’与‘可插拔扩展’:Obsidian原生支持双链、嵌入、Frontmatter等基础能力,构成不可降级的知识骨架;而Dataview、Templater等插件则作为可验证、可回溯的增强层,需通过三问验证(解决痛点?有原生替代?失效可降级?)方可引入。这种设计赋予知识库技术价值——抗版本升级、跨平台兼容、离线可用,并支撑技术文档管理、项目复盘、读书笔记等真实场景。当面对computer use插件不可用或h

weixin_30660027的博客 680

《FPGA DDR3权威实战:从基础到高速故障录波系统》专栏导览:从不知所措到心中有数

本文是一份DDR3实战指南,作者从自身学习经历出发,分享了一套循序渐进的DDR3应用路线图。专栏包含12篇文章,从基础配置(MIG IP核、AXI总线)、仿真测试到实际项目应用(功能测试、性能测试),最后深入原生MIG接口实战,通过一个高速故障录播系统案例完整展示DDR3开发流程。文章特别强调实践性,旨在帮助读者系统掌握DDR3开发技能,避免作者当年踩过的坑。每篇都配有优快云链接,适合FPGA开发者按顺序学习参考。

FPGA_小田老师的博客 331

用appium爬取数据python3实现

一、前言  上一篇小说爬的是电脑端的静态网址,一直想爬手机端app数据的抓取,研究有好几天了,在网上也找了各种教程,差点挂在appium的环境安装。本编教程从appium的环境配置开始到抓取手机app微信朋友圈结束。  知乎:https://zhuanlan.zhihu.com/p/41311503  GitHub:https://github.com/FanShuixing/git_webspi...

qq_38839677的博客 2105

13、数据可视化与分组操作:Danfo.js 实战指南

本文深入介绍了如何使用 Danfo.js 进行数据可视化与分组操作。内容涵盖多种图表的创建与配置,如折线图、散点图、箱线图、小提琴图、直方图和柱状图,并结合 Plotly.js 实现丰富的交互式可视化效果。同时,详细讲解了数据聚合的‘分割-应用-组合’模式,包括分组数据、遍历分组、apply 方法及 agg 聚合操作,帮助开发者高效处理和分析结构化数据。适用于 Dnotebook、HTML 及主流前端框架的应用场景。

o1p2q3r的博客 98

python小问题

这两天写的bug,ubuntu下

Suii_v5的博客 520

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain&#39;s apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath(&#39;DeepLearnToolbox&#39;));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand(&#39;state&#39;,0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = &#39;sigm&#39;;%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, &#39;Too big error&#39;);```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, &#39;Too big error&#39;);```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

10分钟快速教你用Python+Appium实现自动化测试

大家好,我是艺霏,今天和大家讲一下如何快速用Python+Appium去 实现自动化测试 一、环境准备 1.脚本语言:Python3.x IDE:安装Pycharm 2.安装Java JDK 、Android SDK 3.adb环境,path添加E:\Software\Android_SDK\platform-tools 4.安装Appium for windows,官网地址 http://appium.io/ 点击下载按钮会到GitHub的下载页面,选择对应平台下载 安装完成后,启动Appium,hos.

别人的故事,是参考答案,而不是标准答案 405

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

3分钟教你用Python+Appium实现自动化测试

1.脚本语言:Python3.x IDE:安装Pycharm 2.安装Java JDK 、Android SDK 3.adb环境,path添加E:\Software\Android_SDK\platform-tools 4.安装Appium for windows,官网地址 Redirecting

HUA6911的博客 341

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

上一篇: 「已解决」Error NO_PUBKEY A4B469963BF863CC
下一篇: 「已解决」anaconda环境version `GLIBCXX_3.4.30‘ not found
Ceder1c
博客等级 码龄7年 268粉丝 44原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值