zoukankan      html  css  js  c++  java
  • Python开发环境(2):启动Eclipse时检测到PYTHONPATH发生改变

    OS:Windows 10家庭中文版,Eclipse:Oxygen.1a Release (4.7.1a),PyDev:6.3.2

    4月25日,在Eclipse上安装了PyDev(前面博文有记录),并开发了一个Python工程,当时并未尝试用之开发Django工程;

    5月  2日,利用下载的Django安装包,在Python 3.6中安装了Django 2.0.3;

    5月  5日(TODAY),打开Eclipse时弹出下面的窗口,提示“System PYTHONPATH changes detected

    原因,我在安装PyDev后才安装了Django,并且安装Django更改了Python的环境变量PYTHONPATH,因此,在打开Eclipse

    时,它检测到了更改,就提示用户使用新的PYTHONPATH。

    默认全选,直接点击按钮“Apply selected changes”即可。

    不更改会有什么问题呢?或许某些新安装的Python模块无法使用吧!(需要进行试验

    PYTHONPATH是什么?

    Python程序导入(import)模块时的搜索路径之一,排在第二,由一些路径组成。

    可以通过print(sys.path)或者print(os.sys.path)得到PYTHONPATH的值。

    疑问:os模块、sys模块有什么区别呢?使用时是否需要import呢?

    Python的import模块搜索顺序:

    1.程序主目录

    2.PYTHONPATH中的目录

    标准库目录和第三方目录(比如本文说到的Django的目录)

    3.任何能够找到的.pth文件?

    参考:Python模块搜索路径

    我的site.getsitepackages()返回结果为:

    4.第三方扩展的site-packages目录

    即Python主目录下lib目录下的site-packages(已存在于PYTHONPATH中)。

    注意,在上面的目录中找到了就不再找了,找不到就会产生导入异常,并且,只搜索指定的目录,不会递归搜索(进入

    上面目录下面的目录)。

    注意,Windows优先搜索“.”目录,即当前路径,而Linux只会从环境变量的路径中去挨个找(Unix呢?Linux还需验证)。

    路径的类型:

    1.普通路径

    e.g. C:\Python36\lib

    2.字典

    e.g. ?

    3.ZIP文件

    e.g. C:\Python36\python36.zip

    4.egg文件(Python egg,蟒蛇蛋)

    e.g. C:\Python36\lib\site-packages\django-2.0.3-py3.6.egg

    说明,.egg文件,是由setuptools库创建的包,添加了元数据(版本号、依赖项等)的zip文件。

    参考链接:

    Python环境变量PYTHONPATH设置
    Python 模块化 模块搜索顺序、重复导入、模块加载列表(五)
    Python模块搜索路径

  • 相关阅读:
    问世即屠榜的bert
    写给日后面试的小朋友们~
    SQL笔记续补
    《姜子牙》视频笔记
    知识图谱之小米的落地与应用探索
    Pyspark ml
    一个小时学会用 Go 编写命令行工具
    C#设计模式-组合模式(Composite Pattern)
    C#设计模式-桥接模式(Bridge Pattern)
    C#设计模式-装饰器模式(Decorator Pattern)
  • 原文地址:https://www.cnblogs.com/luo630/p/8997762.html
Copyright © 2011-2022 走看看