美文网首页ITS·黑客
[python]???其实没什么内容只是为我一个早上的尝试做一个

[python]???其实没什么内容只是为我一个早上的尝试做一个

作者: JEZAU | 来源:发表于2017-05-04 13:27 被阅读14次

    看了某人的笔记但还是自己试了一个早上才 有 点 明 白

    我之前懵逼的原因(虽然现在还是懵逼的)在于 原来当前程序的目录的意思不是python3的所在目录啊...

    首先,为了便于试验,我先查了显示/隐藏文件的代码

    $ defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder
    $ defaults write com.apple.finder AppleShowAllFiles -boolean false ; killall Finder
    

    然后我试了一下查看路径
    $ echo 是可以查看已有设置的代码

    appledeMacBook:~ JEZAU$ echo $PATH
    /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin```
    运行python3的时候在第一个目录中找到了,于是直接运行,运行的是源文件
    然后我试了一下,发现不管你cd进入了哪个目录,都只在这几个文件夹中寻找
    
    然后是我之前用过的os的path函数
    

    os.path.abspath('.')
    '/Users/apple'```
    这个返回的是命令行目前所在的目录,就是进入python之前所在的目录,和python文件的位置没有关系
    我还莫名其妙这个是怎么冒出来的..

    os.environ中的显示的环境变量就是系统的环境变量,就是
    /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

    然后是当在python里import 模块时,导入的是哪里的模块
    对于所说的sys包含的四种目录不是很懂,于是把我的jieba库在各种文件夹中移动试验。

    >>> import sys
    >>> sys.path
    ['','/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python36.zip', 
    '/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6', 
    '/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload',
     '/usr/local/lib/python3.6/site-packages']
    

    1). 第一个路径往往是一个空项,它对应当前目录,就是你进入python之前命令行所在的目录。(python所在目录是不行的)
    据说如果有脚本目录(python解析器所在目录)则会是脚本目录
    2). 第二个是PYTHONPATH目录,在运行python之前设置,如果没设置就会显示一个zip文件 我也不知道那个是什么,是一个不存在的文件
    代码为export PYTHONPATH=$PYTHONPATH:path
    3). 标准模块库(如os等)所在目录(不一定只有一个)以及拓展包目录
    4). 可以通过 sys.path.append('') 来自行添加
    这些都是python在安装的时候就设置好了的 不知道可不可以改
    pip的安装路径也是安装的时候在环境变量中设定好的

    在我的试验中我奇怪的是,不知道python下载的时候自带的替身是怎么制作的,我制作的替身打开会和源文件一样。终端打开permission denied/command not found,看一下它的替身里面是空的,与源文件不一样,我就把里面东西都删啦,结果 大小不一样 估计是经过了什么处理
    然后为什么把源文件变了地方就不能which python了 反正就是 strange

    相关文章

      网友评论

      • 某米狼:你源文件变了地方 把新路径加入path,which python就有了
        JEZAU:噢!也就是说which的只能是那几个文件夹里的吗

      本文标题:[python]???其实没什么内容只是为我一个早上的尝试做一个

      本文链接:https://www.haomeiwen.com/subject/ylbrtxtx.html