• 技术文章 >常见问题 >Python常见问题

    怎么找python包的路径

    silencementsilencement2020-02-24 18:01:19原创3624

    Python是如何寻找包的

    现在大家的电脑上很可能不只有一个Python,还有更多的虚拟环境,导致安装包的时候,一不小心你就忘记注意安装包的路径了。首先

    我们来解决找包的问题,这个问题回答起来很简单,但很多人不知道这个原理。假如你的Python解释器的路径是

    <path_prefix>/bin/python,那么你启动Python交互环境或者用这个解释器运行脚本时,会默认寻找以下位置1:

    <path_prefix>/lib(标准库路径)

    <path_prefix>/lib/pythonX.Y/site-packages(三方库路径,X.Y是对应Python的主次版本号,如3.7, 2.6)

    当前工作目录(pwd命令的返回结果)

    这里如果你用的是Linux上的默认Python,<path_prefix>就是/usr,如果你是自己使用默认选项编译的,<path_prefix>就

    是/usr/local。从上面第二条可以看到不同次版本号的Python的三方库路径不同,如果你把Python从3.6升级到3.7那么之前装的三方库都

    没法用了。当然你可以整个文件夹都拷贝过去,大部分情况不会出问题。

    几个有用的函数

    sys.executable 当前使用的Python解释器路径

    sys.path 当前包的搜索路径列表

    sys.prefix 当前使用的<path_prefix>

    >>> import sys
    >>> sys.executable
    '/home/frostming/.pyenv/versions/3.7.2/bin/python'
    >>> sys.path
    ['', '/home/frostming/.pyenv/versions/3.7.2/lib/python37.zip', '/home/frostming/.pyenv/versions/3.7.2/lib/python3.7',
     '/home/frostming/.pyenv/versions/3.7.2/lib/python3.7/lib-dynload', '/home/frostming/.local/lib/python3.7/
     site-packages', '/mnt/d/Workspace/pipenv', '/home/frostming/.pyenv/versions/3.7.2/lib/python3.7/site-packages']
    >>> sys.prefix
    '/home/frostming/.pyenv/versions/3.7.2'

    更多Python技术请关注Python视频教程

    专题推荐:
    上一篇:python怎么获取系统时间 下一篇:python怎么输出数字

    相关文章推荐

    • python怎么打包整个项目• python3.6怎么打包

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网