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模块搜索路径

  • 相关阅读:
    react路由组件&&非路由组件
    react函数式组件(非路由组件)实现路由跳转
    react使用antd组件递归实现左侧菜单导航树
    【LeetCode】65. Valid Number
    【LeetCode】66. Plus One (2 solutions)
    【LeetCode】68. Text Justification
    【LeetCode】69. Sqrt(x) (2 solutions)
    【LeetCode】72. Edit Distance
    【LeetCode】73. Set Matrix Zeroes (2 solutions)
    【LeetCode】76. Minimum Window Substring
  • 原文地址:https://www.cnblogs.com/luo630/p/8997762.html
Copyright © 2011-2022 走看看