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

  • 相关阅读:
    Win10 UWP Tile Generator
    Win10 BackgroundTask
    UWP Tiles
    UWP Ad
    Win10 build package error collections
    Win10 八步打通 Nuget 发布打包
    Win10 UI入门 pivot multiable DataTemplate
    Win10 UI入门 导航滑动条 求UWP工作
    UWP Control Toolkit Collections 求UWP工作
    Win10 UI入门 SliderRectangle
  • 原文地址:https://www.cnblogs.com/softidea/p/6707910.html
Copyright © 2011-2022 走看看