大家在编写模块的时候,总会遇到这么一个问题:把模块放到安装目录下的Lib目录里面就可以正常使用了,可是过了几天重装了Python,自己写的模块也没了,然后就是感觉身体被掏空,心情极度难受,精神非常崩溃,毕竟自己辛辛苦苦写的库没了。

要想防止这种情况发生,唯有备份!但是我们来设想一个情况,你的Python装了好多个库,自己又写了好多库,因为磁盘空间有限,自己写的库只能放在另一个盘里面了。遇到这种情况有些人会想到使用虚拟环境,虚拟环境的切换可是相当繁琐的,而且虚拟环境无法和真实环境绑定在一起!

既不用虚拟环境,也不能把模块放在相应的目录下,解释器就会找不到啊!怎么办?确实找不到,至于为什么?我首先要介绍一下sys模块的path变量,如图所示。

这个变量是一个list,里面的每一个元素都是字符串,其实观察字符串的内容,大家能够发现字符串就是路径,第一个空字符串表示当前路径,sys.path就是告诉python解释器去它里面所用的路径下寻找模块。现在假设现有的这些路径因为某种原因不能往里面塞东西了,需要另外一个路径,该怎么办?有些人会把模块放在当前项目所在的路径,这么做只能对当前项目起作用,如果另一个项目也需要用这个项目里面的模块,就需要把模块复制过去,这样就会有大量的模块重复;有些人会想得很简单,既然是一个列表,append新路径绝对没问题!确实没问题,但这样只能临时修改sys.path!(重新启动就会失效)我想要永久性的的告诉解释器我自己定义的路径该怎么做呢?!这就需要使用环境变量PYTHONPATH。windows添加环境变量非常容易,在此我就不做演示了。环境变量添加完成后如图所示。

变量的值不一定要和我一样,但变量名一定要和我一样!我这里变量的值是D:\Python\Lib,就是告诉解释器要去D盘下的Python目录下的Lib目录中查找。注意:如果创建或修改环境变量PYTHONPATH之后,sys.path也会发生变化,永久性变化!目前的sys.path的结果如图所示。

大家可以看到D:\Python\Lib已经在其中了。既然环境变量设置了,大家第一个反应就是到底设置的环境变量有没有起作用。这种问题编写一个简单的模块测试一下就知道了,编写模块如图所示。

为了方便测试,模块里面就只有一个简单的函数。在测试之前,首先要去检查一下,看看有没有模块重名。我保证,我这里绝对没有。实际上检查就是去sys.path所列的每个路径进行检查就行,要确保遍历之后只有一个名为hello的模块。

然后就是测试,测试过程非常简单,如图所示。

分析测试结果发现没有问题。最后再扯一点关于设置PYTHONPATH环境变量的其他原因,其实我刚开始说的磁盘空间不足的情况比较少见,但是这并不意味着使用PYTHONPATH环境变量很少见,我们来看下面一种情况。假设Python是系统管理员安装的,而你是一个普通用户,你也不知道管理员账号密码,你只能用python,不能修改python的安装目录下的内容,这个时候PYTHONPATH环境变量就发挥作用了!我们可以发现,使用PYTHONPATH环境变量可以更好地管理我们自己编写的模块,做到不丢失,不重复,存放路径自由!

pythonpath_环境变量:PYTHONPATH相关推荐

  1. Python环境变量PYTHONPATH设置、导入第三方模块

    1.暂时设置模块的搜索路径--修改sys.path 我们在导入模块的时候,python会在指定的路径下搜索相对应的.py文件,搜索路径存放在sys模块的sys.path变量中,如下图 这个path变量 ...

  2. Python环境变量PYTHONPATH设置和easy_install简单使用

    1.把自己编写的python模块添加到PYTHONPATH上 要想让python解释器找到自己编写的模块,则该模块必须PYTHONPATH上,否则在导入该模块时会出现找不到该模块的错误,因此必须把所需 ...

  3. pythonpath_设置Python的PYTHONPATH环境变量

    刚开始学习Python的时候,自己写的模块所在路径要在每一次启动Python时,进行手动添加路劲(使用import加载Python模块时的路径).现在学会了另外一个方法,通过设置PYTHONPATH环 ...

  4. Python环境变量与引包错误

    http://c.biancheng.net/view/4645.html https://blog.csdn.net/weixin_44153121/article/details/10656870 ...

  5. python的path是什么意思_pythonpath_windows pythonpath_pythonpath环境变量 - 云+社区 - 腾讯云...

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我这里变量的值是d:pythonlib,就是告诉解释器要去d盘下的python目 ...

  6. linux配置python环境变量_linux添加PYTHONPATH环境变量

    1.添加环境变量到pythonpath export PYTHONPATH=$PYTHONPATH:/home/myproject 查看pythonpath echo $PYTHONPATH 可以进入 ...

  7. linux查看python环境变量_Linux中添加PYTHONPATH配置anaconda环境变量方法

    因为最近开发多智能体模型需要把自己写的环境打包import,环境是统一的,如果不加入环境变量,每次测一个算法都要把包作为附属脚本和算法脚本放一起非常麻烦.所以就想把这些写的环境加入到python的环境 ...

  8. python修改PYTHONPATH环境变量

    查看当前python环境 我们进入到conda中的mmlab环境中,运行下面命令 (mmlab) wangyh@Ti-Sev:~$ python -m site sys.path = ['/home/ ...

  9. 如何检查您的PYTHONPATH环境变量

    您可以通过以下方式检查您的 PYTHONPATH 环境变量: 使用命令行/终端: 打开命令行/终端并输入以下命令: import sysprint(sys.path) 这将打印出当前的 PYTHONP ...

最新文章

  1. 缅甸、老挝出入证可在西双版纳办
  2. 人工智能是互联网下一轮变革的核心
  3. 只能输入正整数 以及常用的正则表达式
  4. 模块间相互调用需要注意的问题
  5. 微信小程序之安全调用外部API
  6. Firefox Focus 9.0 将新增广告拦截插件
  7. java设计模式之单例模式详解
  8. 电脑PC微信头像和图片不能显示出来?
  9. SEP(标准必要专利)
  10. 【51nod-1521】一维战舰
  11. 程序开发,也要匠心独运
  12. AdSense 使用教程: 通过让 Google 在您的网站上投放广告,帮助您从中获利
  13. unity人物转方向
  14. LeetCode 917(C#)
  15. Oracle的查询排序,增加总计列,或者增加总计行
  16. AR眼镜语音转文字实测!效果像开了弹幕,对话记录可保存回溯
  17. 高可用架构之限流降级
  18. 实施国家大数据战略 加快建设数据强国
  19. 达林顿驱动器ULN2003,ULN2803使用注意要点
  20. python中uniform randint_Python 随机数函数(random,uniform,randint,randrange,shuffle,sample)...

热门文章

  1. Android 服务(Service)详解
  2. 全程复制粘贴,就是傻瓜式的操作,图文成片,一个视频收益252
  3. MediBangPAIntPro for Mac v24.0版对系统要求有哪些
  4. Mac电脑使用 Boot Camp 安装Windows系统
  5. PHP数组转字符串(属性加单(双)引号,逗号分隔)
  6. AUI-靠谱的移动前端框架
  7. mysql 删除时间范围数据_mysql数据库按时间删除数据总结
  8. C语言 子函数改变指针指向的值
  9. 人工智能研究领域的热门话题
  10. git切换分支相互影响的问题