Pydev wine pythonpath issues/console 初始化超时问题

Pydev wine pythonpath issues/console initialization timeout issue

我在 Pydev 中设置了一个解释器来调用一个小脚本:

#!/bin/bash
WINEDEBUG=fixme-all WINEPREFIX=/home/dal/wine/Python wine C:\Python27\python.exe "$@"

启动 python windows 版本的一个实例(我需要它才能获得 windows-only ODBC 数据库驱动程序)。 这很好用,我可以启动控制台,运行 使用该解释器的脚本等

但是 - 我现在需要添加对存储我需要访问的一堆模块的目录的引用 - 但是 python 的 windows 版本想要一个 PYTHONPATH,其元素由分号和 Z:\home\blah\whatever 格式,而不是冒号和 /home/blah/whatever。

Pydev 不允许我在首选项 -> pydev -> 解释器 -> 库部分添加任意路径(它要我在文件选择器中找到路径,然后从中创建一个 /home/blah/whatever 字符串选了什么)。

尝试使用环境选项卡将 PYTHONPATH 设置为 ${PYTHONPATH}\;Z:\path\I\need 导致 pydev 告诉我忘记它(它不会让我专门从该对话框中设置 PYTHONPATH ).

PYTHONPATH=${PYTHONPATH}\;Z:\path\I\need 添加到 shell 脚本,该脚本通过 wine 调用 windows 版本的 python 是我最后能想到的,但它会导致一些不好的事情在 pydev 中发生:

Error initializing console.
Unexpected error connecting to console.
Failed to recive suitable Hello response from pydevconsole. Last msg  received: Failed to read server's response: Connection refused

是的,接收失败。

我可以手动:

import sys
sys.path.append(r'Z:\really\long\path\that\I\dont\want\to\type\often')

事情会成功的,但是...我真的不想每次都输入那个。

将上面的内容放在一个文件中并将 PYTHONSTARTUP 环境变量指向它可以解决来自终端的 python 实例 运行ning 的问题,但是 python 实例 运行在 pydev 中 ning 似乎根本不看 PYTHONSTARTUP

了解了我在晚上这个时候能想到的几乎所有想法(除了简单地将整个模块目录导入到我在 pydev 中处理的每个项目中,这似乎...不够优雅,说至少),有没有人想过如何将这个特殊的方钉穿过圆孔?

更新:模块目录实际上是通过 sshfs 安装的,并且在 python 路径中,从终端启动 python 解释器的实例有点慢(35 秒左右)。尝试从 pydev 中启动控制台似乎在 < 15 秒内超时,所以我想知道这里需要的是否只是某种方式来增加它在放弃之前等待它试图启动的解释器的响应的时间,如果输出片段末尾的 'connection refused' 消息意味着(正如该片段的其余部分似乎暗示的那样) 'connection not accepted before I gave up' 比 'interpreter told me explicitly connection was not going to happen'?

我会尝试 sys.path

import sys
print sys.path #  print a list of locations Python searches for modules
sys.path.append('Z:\path\I\need')

# now import your modules
import my_module

关于您的 PYTHONPATH 方法,您也可以尝试放入单引号 - 您当前的方法没有正确转义,并且 \n 被解释为换行符。

PYTHONPATH=${PYTHONPATH}\;'Z:\path\I\need'