请教下如何为import增加指定的lib目录呢

yesorno 3月前 368 v 36.37.1 2024-08-12

请问下如果不想把文件放入工程目录,如何才能增加import搜索目录呢。

类似python语法  sys.path.append(lib_path)

这样可以在不同项目里相互调用,就不需要复制文件到工程里去了。


最新回复 (4)
  • 光庆 3月前
    0 2

    详解import导入库的过程

    import导入库时查找顺序为“内核库->标准库->用户库”。
    外部库文件的物理路径与名字空间路径保持一致(将物理路径中的斜杠替换为圆点就是名字空间路径)。

    我们以下面的import语句为例详解导入库的过程:

    import time.ole //将外部库time.ole导入当前名字空间


    1、查询库缓存

    已导入的库会直接加载到当前名字空间,不会重复导入相同的库,否则继续下面的过程。

    2、查询内核库

    如果内核库中存在该库,导入库,否则继续下面的过程。

    3、查找编译嵌入EXE的库文件

    aardio会优先加载编译发布EXE时嵌入EXE文件的库模块。

    4、查询标准库

    如果仍然没有找到库。在启动当前进程的EXE文件根目录下的的lib目录下查询库文件,从根目录逐渐向下层子目录开始搜索,查找顺序如下(按查找顺序先后排列):

    ~\lib\time.ole.aardio
    ~\lib\time\ole.aardio
    ~\lib\time\ole\_.aardio
    
    如果找到aardio代码文件或编译后的二进制aardio文件,加载并运行,并将文件路径作为参数传递给目标文件。


    5、查询用户库

    如果仍然没有找到,按第三步的过程,在当前工程目录\lib目录,或启动文件所在目录\lib目录下查找用户库,  查找顺序如下(按查找顺序先后排列):

    \lib\time.ole.aardio
    \lib\time\ole.aardio
    \lib\time\ole\_.aardio
    
    如果找到aardio代码文件或编译后的二进制aardio文件,加载并运行,并将文件路径作为参数传递给目标文件。


    注意在aardio开发环境中 "~\lib\" 表示aardio.exe所在目录下的标准 库,而  "\lib\"表示虚拟根目录下的用户库。对于一个工程来说工程目录就是虚拟根目录,对于一个在工程之外单独运行的aardio文件 -  文件所在的目录就是虚拟根目录。对于发布后的EXE文件来说,"\lib\"与"~\lib\"默认都是指EXE文件启动目录,在创建线程、协程时 -  可以在参数中改变虚拟根目录


    6、查询扩展库

    如果当前是运行在aardio开发环境中,仍然没有找到匹配的库文件,aardio会检查扩展库列表并安装扩展库。

  • yesorno 3月前
    0 3
    光庆 详解import导入库的过程import导入库时查找顺序为“内核库->标准库->用户库”。外部库文件的物理路径与名字空间路径保持一致(将物理路径中的斜杠替换为圆点就是名字空 ...

    引用子文件夹下的文件为什么会报错呢

  • 小光芒 3月前
    0 4
    yesorno 引用子文件夹下的文件为什么会报错呢
    直接把库文件拖到ide 他会自己生成代码
  • yesorno 3月前
    0 5
    小光芒 直接把库文件拖到ide 他会自己生成代码
    谢谢,试过了,还是会报错
返回