草庐IT

Mac环境下Jenkins部署Python报错 - ModuleNotFoundError: No module named ‘selenium‘ (已完美解决)

不渴望力量的哈士奇 2024-04-09 原文
  • 作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 跨域学习者,从事过全栈研发、产品经理等工作,目前任某金融品类App负责人。
  • 荣誉:2022年度博客之星Top4博客专家认证、全栈领域优质创作者、新星计划导师“星荐官共赢计划” 发起人
  • 现象级专栏《白宝书系列》作者文章知识点浅显易懂且不失深度TFS-CLUB社区创立者旨在以“赋能 共赢”推动共建技术人成长共同体

专栏系列(点击解锁)学习路线(点击解锁)
Python全栈白宝书 零基础入门篇
语法进阶篇
自动化办公篇
自动化测试实战篇
数据库开发实战篇
爬虫入门与实战
数据分析篇
前端入门+flask 全栈篇
django+vue全栈篇
拓展-人工智能入门


文章目录

🐳 背景

最近写博客的时候,尝试在自己的本地 Mac 上搭建一个自动化测试的集成环境,在所有的前置条件都准备好的情况下,进行构建的时候出现了下面这个错误 。

ModuleNotFoundError: No module named 'selenium'


构建任务命令如下:

报错内容如下:


🐳 原因分析

造成这个错误的原因,其实已经给出了,就是缺少相关依赖,没有找到 selenium 这个模块。(讲道理,这个破问题,真的是折腾了我一晚上,我也不想在这上面浪费过多的语言了,我直接说一下我的解决方案吧。)

🐳 解决方案


  • 第一步:将python的路径设为环境变量,其实我们在安装python的时候已经会自动配置环境变量了。一般就是在 /usr/local/bin 路径下可以查到对应的软连接。

这一步可以忽略,有点题外话了。


  • 第二步:查看当前 python 的安装路径。我这里安装的是 python3.8 ,通过 where python3.8which python3.8 ,可以查看到 python3.8的安装路径 /Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8 。(这是安装包安装的python的默认安装路径,Mac自带的 python2.7 不在这个路径下)

接下来,就需要将这个 python3.8 的路径添加至环境变量中去。

Mac系统的环境变量,加载顺序为:

  • 1:/etc/profile
  • 2: /etc/paths
  • 3:~/.bash_profile
  • 4: ~/.bash_login
  • 5: ~/.profile
  • 6: ~/.bashrc

其中 1 和 2 是系统级别环境变量的,系统启动就会加载,其余是用户级别的(即使用用户的user)。 3、4、5 按照从前往后的顺序读取,如果 ~/.bash_profile 的文件存在,则后面的几个文件就会被忽略不读了,以此类推。~/.bashrc 没有上述规则,它是bash shell打开的时候载入的。这里建议在 ~/.bash_profile 中添加环境变量,以下也是以在c中添加环境变量来演示的。


  • 第三步:修改 ~/.bash_profile 文件,将环境变量添加进去。

    • 终端输入: vim ~/.bash_profile ,进入编辑模式后输入以下内容

    # python3.8.10 环境变量

    export PATH=“/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}”
    alias python=“/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8”

    # pip3 环境变量

    export PATH=“/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}”
    alias pip=“/Library/Frameworks/Python.framework/Versions/3.8/bin/pip3”


    ps:需要注意的是,这里的路径是我mac上安装 python 的路径,具体视真实环境的路径而定,不要照抄哈。(这里我顺带这把 "pip" 也设置好了);如此设置之后,在终端输入 python 其实使用的就是 python3.8.10 ,输入 pip 其实使用的就是 pip3。(具体如何使用,看心情就好。)


    以上编辑完,保存退出之后,还需要执行 source ~/.bash_profile 重启一下环境变量。(最好终端窗口也重启一下。)


    在终端界面输入 python --versionpip --version 验证版本是否与指定的环境变量的路径一至。


    然后通过 pip 安装 selenium ,pip install selenium ,然后执行 pip list 查看 selenium 是否安装成功

  • 第四步:重新运行 构建任务,报错呢依旧存在。但是我们可以通过终端,在终端以命令行的形式正常的执行任务。原因是:Jenkins需要配置环境变量,否则只会在当前的任务目录寻找依赖。于是修改jenkins配置如下:(系统管理 —> 系统配置 —> 全局属性 —> 环境变量

重新构建,输出正常。(其实仍然是不正常,不过这个不正常的原因是我的脚本有问题造成的,和环境没关系。)



有关Mac环境下Jenkins部署Python报错 - ModuleNotFoundError: No module named ‘selenium‘ (已完美解决)的更多相关文章

  1. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  2. ruby-on-rails - 每次我尝试部署时,我都会得到 - (gcloud.preview.app.deploy) 错误响应 : [4] DEADLINE_EXCEEDED - 2

    我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie

  3. ruby-on-rails - 在 Rails 开发环境中为 .ogv 文件设置 Mime 类型 - 2

    我正在玩HTML5视频并且在ERB中有以下片段:mp4视频从在我的开发环境中运行的服务器很好地流式传输到chrome。然而firefox显示带有海报图像的视频播放器,但带有一个大X。问题似乎是mongrel不确定ogv扩展的mime类型,并且只返回text/plain,如curl所示:$curl-Ihttp://0.0.0.0:3000/pr6.ogvHTTP/1.1200OKConnection:closeDate:Mon,19Apr201012:33:50GMTLast-Modified:Sun,18Apr201012:46:07GMTContent-Type:text/plain

  4. ruby-on-rails - 如何在 mac os snow leopard 中升级 ruby​​ 和 rails - 2

    我想将我的MacSnowLeopardruby​​从1.8.7升级到1.9.1版本,有人知道轻松且最好的升级方法吗?因为我读了一些论坛/帖子/博客/讨论说覆盖苹果发布的ruby不好将Rails从版本2.2.2升级到2.3.8的最佳方法是什么?因为我找到的所有信息都仅适用于豹/老虎,而且很少有关于雪豹的复杂文章。他们还说覆盖apple提供的rails不好吗。谁能帮帮我?谢谢。 最佳答案 DanBenjamin有一些greatinstructionsforcompilingandinstallingRuby,RubyGemsandRai

  5. ruby - 在不使用 RVM 的情况下在 Mac 上卸载和升级 Ruby - 2

    我最近决定从我的系统中卸载RVM。在thispage提出的一些论点说服我:实际上,我的决定是,我根本不想担心Ruby的多个版本。我只想使用1.9.2-p290版本而不用担心其他任何事情。但是,当我在我的Mac上运行ruby--version时,它告诉我我的版本是1.8.7。我四处寻找如何简单地从我的Mac上卸载这个Ruby,但奇怪的是我没有找到任何东西。似乎唯一想卸载Ruby的人运行linux,而使用Mac的每个人都推荐RVM。如何从我的Mac上卸载Ruby1.8.7?我想升级到1.9.2-p290版本,并且我希望我的系统上只有一个版本。 最佳答案

  6. Python 相当于 Perl/Ruby ||= - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。

  7. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

  8. ruby-on-rails - Ruby on Rails 可以部署在 Azure 网站上吗? - 2

    我可以在Azure网站上部署RubyonRails吗? 最佳答案 还没有。目前仅支持.NET和PHP。 关于ruby-on-rails-RubyonRails可以部署在Azure网站上吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12964010/

  9. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  10. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

随机推荐