zoukankan      html  css  js  c++  java
  • Python sys.path详解

    如何将路径“永久"添加到sys.path?

    sys.path是python的搜索模块的路径集,是一个list

    ['', 'C:\WINDOWS\system32\python26.zip', 'C:\Python26\DLLs', 'C:\Python26 lib', 'C:\Python26\lib\plat-win', 'C:\Python26\lib\lib-tk', 'C:\Python26 ', 'C:\Python26\lib\site-packages', 'C:\Python26\lib\site-packages\win32' , 'C:\Python26\lib\site-packages\win32\lib', 'C:\Python26\lib\site-packa ges\Pythonwin']

    可以在python 环境下使用sys.path.append(path)添加相关的路径,但在退出python环境后自己添加的路径就会自动消失!

    在python脚本中修改

    import sys
    sys.path.append('c:\mypythonlib')

    为解决这个问题,可以有以下方法:

    1. 将自己做的py文件放到 site_packages 目录下:

    下面命令显示了 site-packages 目录:

    python -c "from distutils.sysconfig import get_python_lib; print get_python_lib() "

    但是这样做会导致一个问题,即各类模块都放到此文件夹的话,会导致乱的问题,这一点是显而易见的。

    注意,也不创建子文件夹,再将自己的模块放到子文件夹解决问题,这会导致使用import 语句时错误。


    2. 使用pth文件,在 site-packages 文件中创建 .pth文件,将模块的路径写进去,一行一个路径,以下是一个示例,pth文件也可以使用注释:

    # .pth file for the my project(这行是注释)
    E:DjangoWord
    E:DjangoWordmysite
    E:DjangoWordmysitepolls

    这个不失为一个好的方法,但存在管理上的问题,而且不能在不同的python版本中共享。

    3. 使用PYTHONPATH环境变量,在这个环境变量中输入相关的路径,不同的路径之间用逗号(英文的!)分开,如果PYTHONPATH 变量还不存在,可以创建它!

    路径会自动加入到sys.path中,而且可以在不同的python版本中共享,应该是一样较为方便的方法。

    关于与python相关的环境变量有那些,请参考:

    http://docs.python.org/using/cmdline.html

    在页面上找到PYTHONPATH

  • 相关阅读:
    121. Best Time to Buy and Sell Stock
    70. Climbing Stairs
    647. Palindromic Substrings
    609. Find Duplicate File in System
    583. Delete Operation for Two Strings
    556 Next Greater Element III
    553. Optimal Division
    539. Minimum Time Difference
    537. Complex Number Multiplication
    227. Basic Calculator II
  • 原文地址:https://www.cnblogs.com/phpfans/p/3374306.html
Copyright © 2011-2022 走看看