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

  • 相关阅读:
    15. DML, DDL, LOGON 触发器
    5. 跟踪标记 (Trace Flag) 834, 845 对内存页行为的影响
    4. 跟踪标记 (Trace Flag) 610 对索引组织表(IOT)最小化日志
    14. 类似正则表达式的字符处理问题
    01. SELECT显示和PRINT打印超长的字符
    3. 跟踪标记 (Trace Flag) 1204, 1222 抓取死锁信息
    2. 跟踪标记 (Trace Flag) 3604, 3605 输出DBCC命令结果
    1. 跟踪标记 (Trace Flag) 1117, 1118 文件增长及空间分配方式
    0. 跟踪标记 (Trace Flag) 简介
    SpringBoot + Redis + Shiro 实现权限管理(转)
  • 原文地址:https://www.cnblogs.com/softidea/p/6707910.html
Copyright © 2011-2022 走看看