VeighNa量化社区
你的开源社区量化交易平台 | vn.py | vnpy
Member
avatar
加入于:
帖子: 5
声望: 0

找问题

  1. VN STUDIO安装提示错误(python.sys_path),如下图:

description

  1. 点击 ignore,继续安装,直至成功。(不要慌,需要安装好后,排查出问题的地方,然后卸载,重装)

  2. 打开 cmd,执行出错误的代码的脚本

    C:\vnstudio/python.exe C:\vnstudio/helpers/add_into_sys_path.py
    
执行结果如下:

![description](https://static.vnpy.com/upload/temp/e75ffabf-f68d-4f89-af7a-d542129f1468.png)

4. 然后在文件夹 C:\vnstudio\helpers 中找到win_env_path.py,并打开。根据错误提示找出是哪一行出问题。然后debug发现是注册表中的path的值出错了。

def add_to_sys_path(new_path: str):
"""
Add one path into PATH of SYSTEM
"""
assert ';' not in new_path
old_fixed_paths = get_sys_path()
for p in old_fixed_paths:
if is_same_file(p, new_path):
return
old_paths = get_sys_path()
return set_sys_path([new_path, *old_paths])

发现调用了get_sys_path():

def get_sys_path() -> List[str]:
path: str = get_key(sys_reg_root, sys_reg_path, "Path")

print(path)

return path.split(';') if path else []
在该函数中print(path),然后在cmd中执行

C:\vnstudio/python.exe C:\vnstudio/helpers/add_into_sys_path.py

得到
 ";%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Windows\SysWOW64”;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Git\cmd;

发现路径中有两处有引号(错误就是这个):";   C:\Windows\SysWOW64”;

### 修改注册表
1. 打开注册表 win+r,输入regedit
2. 按照 win_env_path.py中路径找

sys_reg_path = r"SYSTEM\CurrentControlSet\Control\Session Manager\Environment"

然后修改path的数据,删除多余的引号,然后保存,如下图

![description](https://static.vnpy.com/upload/temp/fe8d330c-42cc-4c53-bd33-68d8be0866d6.PNG)

**至此已经修改完毕**

### 卸载、重装VN STUDIO
1. 如果卸载过程中遇到错误,选择 ignore。
2. 重装时,以管理员身份运行。


至此已顺利完成安装。感谢xiaohe给的提示。
Member
avatar
加入于:
帖子: 3
声望: 0

我也是因为搞机器学习装cuda碰到这个bug

Member
avatar
加入于:
帖子: 3
声望: 0

其他的错误都一样,除了最后一行:OSError: [WinError 123] 文件名、目录名或卷标语法不正确。: '"%CUDA_LIB_PATH%'