zoukankan      html  css  js  c++  java
  • python自定义库文件路径

    各有各的小烦恼,各有的小期待

    这是人家私事,不要大嘴巴

    在Pycharm中import whois时,总是失败

    原因是安装了python3.x
    相关操作过程,将环境变量path中关于Python的配置c:Python27和c:Python27Scripts都删除,pycharm中仍然没有找到whois module

    import whois
    Traceback (most recent call last):
      File "<input>", line 1, in <module>
      File "C:Program FilesJetBrainsPyCharm Community Edition 2017.1.3helperspydev\_pydev_bundlepydev_import_hook.py", line 21, 
    in do_import
        module = self._system_import(name, *args, **kwargs)
      File "C:Developerpythonspiderdemowhois.py", line 1, in <module>
        from whois import whois
    ImportError: cannot import name whois

    但Setting中的配置显示,这个第三方类库是有安装的。
    然后把C:Users用户名AppDataLocalProgramsPython下的Python36-32文件夹删除。
    然后Pycharm中识别了下面显示的whois Package


    一般来说,我们会将自己写的Python模块与python自带的模块分开存放以达到便于维护的目的。

    Python 运行环境在查找库文件时是对 sys.path 列表进行遍历,如果我们想在运行环境中注册新的类库,主要有以下三种方法:

    1. 在sys.path列表中添加新的路径。
    2. 设置PYTHONPATH环境变量。
    3. 将库文件复制到sys.path列表中的目录里(如site-packages目录)。

    其实,最简单的办法是用 .pth 文件来实现。Python 在遍历已知的库文件目录过程中,如果见到一个 .pth 文件,就会将文件中所记录的路径加入到 sys.path 设置中,这样 .pth 文件说指明的库也就可以被 Python 运行环境找到。


    windows环境:

    C:UsersAdministrator>set PYTHONPATH=E:/Project/Python/ModuleAndPackage/
    
    C:UsersAdministrator>python
    Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec  5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import sys
    >>> sys.path
    ['', 'E:\Project\Python\ModuleAndPackage', 
    'C:\Windows\system32\python27.zip',
    'C:\Python\DLLs', 'C:\Python\lib',
    'C:\Python\lib\plat-win',
    'C:\Python\lib\lib-tk',
    'C:\Python', 'C:\Python\lib\site-packages'] >>>

    http://www.cnblogs.com/qingspace/archive/2016/03/16/5284480.html

    Linux环境:
    echo " export PYTHONPATH=/Project/Python/ModuleAndPackage/" >>/etc/profile
    source /etc/profile


    操作:

    在Python/Lib/site-package目录下创建一个MyModule.pth文件,其中内容为自定义的模块所在的路径。

    C:Project 
    这样Project目录下的python文件就可以被找到了



    学习python不久,碰到个问题,怎么样把自己写的模块加入到python默认就有的搜索路径中呢?不要每次非得import sys; sys.path.append(‘/home/fightlikekobe/python’)才可。
    上网找了很多久未果,都来我自己糊里糊涂找到了解决方法,那就是在dist-packages(即/usr/local/lib/python2.7/dist-packages)添加一个路径文件,如mypkpath.pth,必须以.pth为后缀,写上你要加入的文件名称就是了,如我的:
    /home/fightlikekobe/python
    保存退出,OK!结果自己验证,重启terminal,再次打开python,
    >>> import sys
    >>> sys.path
    ['/home/fightlikekobe', '/usr/bin', '/usr/local/lib/python2.7/dist-packages/pymysql_sa-1.0-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/PyMySQL-0.5-py2.7.egg', '/usr/local/lib/python2.7/dist-packages/hiredis-0.1.0-py2.7-linux-i686.egg', '/usr/local/lib/python2.7/dist-packages/SQLAlchemy-0.7.3-py2.7-linux-i686.egg', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/local/lib/python2.7/dist-packages', '/home/fightlikekobe/python', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PIL', '/usr/lib/python2.7/dist-packages/gst-0.10', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client', '/usr/lib/python2.7/dist-packages/ubuntuone-client', '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel', '/usr/lib/python2.7/dist-packages/ubuntuone-couch', '/usr/lib/python2.7/dist-packages/ubuntuone-installer', '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol', '/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode']

    http://blog.sina.com.cn/s/blog_59ba44680100z0mt.html

  • 相关阅读:
    移动互联网广告
    移动互联网广告
    移动互联网广告
    移动互联网广告
    移动互联网广告
    移动互联网广告
    vue2.0 transition -- demo实践填坑
    纯CSS3制作皮卡丘动画壁纸
    纯CSS3制作卡通场景汽车动画效果
    18种CSS3loading效果完整版
  • 原文地址:https://www.cnblogs.com/softidea/p/6707910.html
Copyright © 2011-2022 走看看