如何安装本地库
回答
收藏

如何安装本地库

S
SeanZ
2024-03-27 09:23·浏览量:179
S
SeanZ
发布于 2024-03-26 18:19更新于 2024-03-27 09:23179浏览

本地有一个万德金融终端,他的 API 是通过 WindPy.pth 安装的。

我将这个文件添加到资源目录,然后使用以下代码自定义模块搜索路径


import os, sys, site
site.addsitedir(os.path.dirname(package.resources.get_path("WindPy.pth")))
print(sys.path)

import WindPy from w

在打印的 sys.path 中已经可以看到 WindPy.pth 中的目录路径,但是导入时报错:

 [Errno 2] No such file or directory: '...\\AppData\\Local\\ShadowBot\\users\\...\\apps\\...\\venv\\lib\\site-packages\\WindPy.pth'
Traceback (most recent call last):
  File "C:\Tools\RPA\ShadowBot\shadowbot-5.15.52\python\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Tools\RPA\ShadowBot\shadowbot-5.15.52\python\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Tools\RPA\ShadowBot\shadowbot-5.15.52\python\lib\site-packages\xbot_interpreter.py", line 113, in <module>
    main()
  File "C:\Tools\RPA\ShadowBot\shadowbot-5.15.52\python\lib\site-packages\xbot_interpreter.py", line 53, in main
    mod = importlib.import_module(robot_inputs['mod'])
  File "C:\Tools\RPA\ShadowBot\shadowbot-5.15.52\python\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "...\AppData\Local\ShadowBot\users\...\apps\...\xbot_robot\wind_collection.py", line 19, in <module>
    from WindPy import w
  File "C:\Tools\Wind\Wind.NET.Client\WindNET\x64\WindPy.py", line 150, in <module>
    class w:
  File "C:\Tools\Wind\Wind.NET.Client\WindNET\x64\WindPy.py", line 172, in w
    pathfile=open(sitepath)
FileNotFoundError: [Errno 2] No such file or directory: '...\\AppData\\Local\\ShadowBot\\users\\...\\apps\\...\\venv\\lib\\site-packages\\WindPy.pth'

不知道为什么总是到这个路径下去找 WindPy.pth。

尝试过的方案

还尝试过 sys.path.append("C:\\Tools\\Wind\\Wind.NET.Client\\WindNET\\x64") 同样不起作用。

我目前的解决方案是将 WindPy.pth 复制到报错信息中的目录里:

...\AppData\Local\ShadowBot\users\...\apps\...\venv\Lib\site-packages

这样解决有点麻烦,为什么自定义模块搜索路径不起作用呢?如果能增加添加 .pth 文件的功能就好了。

收藏
全部回答1
最新
发布回答
回答