刚开始学习Python的时候,自己写的模块所在路径要在每一次启动Python时,进行手动添加路劲(使用import加载Python模块时的路径)。现在学会了另外一个方法,通过设置PYTHONPATH环境变量,可以自动将你需要的路劲加载到Python的sys.path变量里面。这样做,节省了不少敲键盘的工作。

具体的做法很简单,设置一个名叫PYTHONPATH的环境变量,将你想添加的路径作为这个环境变量的值,然后重启启动cmd窗口,运行python即可。

设置PYTHONPATH的过程需要注意几点:

1, 不要用set命令设置环境变化(我不知道为什么使用set命令设置之后,重启会消失?请参考:Win7下使用set命令查看环境变量),直接使用计算机->属性->高级设置->环境变量,这样设置之后,电脑重启也不会丢失;

2, 如果有多个路径,请使用分号进行分割(;);

3, 设置之后,重启cmd窗口,否则不能生效。

Python的原理是,将PYTHONPATH里面保存的路劲,在Python启动的时候,全部自动加载到sys.path变量中。这样,就不用每次手动改变sys.path的值了。

2018-09-28:

在一个模块被导入时,PVM(Python Virtual Machine)会在后台从一系列路径中搜索该模块,其搜索过程如下:

1、在当前目录下搜索该模块;

2、在环境变量PYTHONPATH中指定的路径列表中依次搜索;

3、在python安装路径中搜索

事实上,PVM通过变量sys.path中包含的路径来搜索,这个变量里面包含的路径列表就是上面提到的这些路径信息。

2018-10-14:

刚开始学习unittest模块的使用,遇到import失败,通过设置PYTHONPATH轻松解决(Windows平台):

(LinkCheck) D:\pyve\LinkCheck>SET PYTHONPATH=D:\pyve\LinkCheck\src

(LinkCheck) D:\pyve\LinkCheck>SET PYTHONPATH

PYTHONPATH=D:\pyve\LinkCheck\src

(LinkCheck) D:\pyve\LinkCheck>

(LinkCheck) D:\pyve\LinkCheck>python -m unittest src/test.py

.

----------------------------------------------------------------------

Ran 1 test in 0.000s

OK

(LinkCheck) D:\pyve\LinkCheck>python -m unittest -v src/test.py

test_IsValidDomain (src.test.Test_website) ... ok

----------------------------------------------------------------------

Ran 1 test in 0.001s

OK

(LinkCheck) D:\pyve\LinkCheck>

使用python -m的时候,unittest模块所在路径与当前需要测试的文件路径不一致,而当前的这个路径是随项目变化的,通过设置PYTHONPATH,unittest模块在运行的时候,当前路径下的模块之间的import,也能够找到路径。

注意:

(1)unittest不用加.py,而src/test.py一定要加.py;

(2)cmd窗口关闭之后,PYTHONPATH就失效了,要重新添加;

(3)set pythonpath,大小写无关,但后面的路径大小写有关。

pythonpath_设置Python的PYTHONPATH环境变量相关推荐

  1. python修改PYTHONPATH环境变量

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

  2. pythonpath环境变量pth_如何设置本地python库目录/PYTHONPATH?

    在尝试编写一个使用PIL的Python脚本的过程中,我发现我的本地机器上似乎没有它(OS X 10.5.8,默认的2.5python安装). 所以我跑:easy_install --prefix=/u ...

  3. python需要配置环境变量吗_教你手动设置python环境变量

    在Windows系统上安装Python非常简单,从头到尾只要跟着步骤走,一路点击"NEXT"按钮即可.最重要也是最麻烦的是安装完毕后需要手动设置下环境变量,到了这一步,很多朋友都不 ...

  4. python需要配置环境变量吗_python为什么会环境变量设置不成功

    学习python编程,首先要配置好环境变量.本文主要讲解python的环境变量配置,在不同版本下如何安装 Windows 打开Python官方下载网站 https://www.python.org/d ...

  5. Mac电脑环境变量设置方法及常见环境变量说明

    在深度学习Python后,很可能需要在同一台电脑上安装不同Python版本的的运行环境,或者设置默认的python和pip运行版本,或者在安装比如mysql.jupyter notebook的时候,一 ...

  6. windows配置PYTHONPATH环境变量的方法

    一.为什么要配置PYTHONPATH python的程序架构是基于多文件系统的,一个python程序包含一个顶层文件和多个模块文件.除了标准库模块和安装的第三方库模块外,有时需要导入自己编写的模块文件 ...

  7. python要配环境变量吗_python安装与环境变量配置

    默认情况下,在windows下安装python之后,系统并不会自动添加相应的环境变量.此时不能在命令行直接使用python命令. 1. 首先需要在系统中注册python环境变量:假设python的安装 ...

  8. window安装python3装环境变量_Windows下的Python安装与环境变量的配置

    Windows下的Python安装与环境变量的配置 第一步:python下载: 第二步:python安装: 双击下载包,进入Python安装向导. 此处省略安装时的配图,下一步.下一步即可.但请要注意 ...

  9. Linux引出环境变量的关键字,学习记录008-linux常用命令/设置系统and用户环境变量two(示例代码)...

    修改文件  vi vi 是linux自带的,vim是vi的升级版 命令:vi 文件名 如果文件存在,那么就直接进入对应的文件的编译模式,如果文件不存在,那么就进入以文件名命名的空文件的编译模式 vi ...

最新文章

  1. laravel 服务提供者介绍和使用
  2. BZOJ-2115-Xor-WC2011
  3. .NET Core Blazor 1-Blazor项目文件分析
  4. Grafana Prometheus 服务安装部署(Linux服务器监控)
  5. 《Excel 职场手册:260招菜鸟变达人》一第 26 招 对齐两个字的名字
  6. firefox无法打开php,php – CORS无法在Firefox中运行
  7. 谭浩强 C程序设计 8.2 求方程 的根,用三个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。...
  8. PHP7函数大全(4553个函数)
  9. html5字体代码列表,html5——web字体(示例代码)
  10. ssm框架整合 spring + springMVC + mybatis
  11. Oracle database TSPITR(TableSpace Point-In-Time Recovery) 表空间基于时间点的恢复
  12. 贪心算法-活动安排问题
  13. android 三大框架是什么,聊聊Android中的三大框架
  14. 股票中MACD如何计算,有什么意义
  15. cpj-swagger分别整合struts2、spring mvc、servlet
  16. js实现点击按钮使图片排序
  17. 输出字符串中出现次数最多的字母
  18. 如何带领小微企业在软件开发行业生存
  19. Android 进阶14:源码解读 Android 消息机制( Message MessageQueue Handler Looper)
  20. Python:类与结构体

热门文章

  1. 关于Oracle数据库删除表空间后磁盘空间不释放的问题
  2. 使用iTunes恢复固件发生未知错误1013简析
  3. 详细的免费网课查题公众号制作教程
  4. 修改wifi密码 及168.192.1.1登录
  5. 杀疯了!ChatGPT火爆全球
  6. oauth2简介与微信认证
  7. element Form组件封装
  8. CMAKE安装遇到的问题cannot find propriate Makefile Processor
  9. 一些语义相似单词的辨析(validate / verify / check 与 state / status)
  10. Linux centos7关闭防火墙