Pydev wine pythonpath问题/控制台初始化超时问题



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

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

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

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

Pydev不允许我在preferences -> Pydev -> interpreters -> libraries部分中添加任意路径(它希望我在文件选择器中找到路径,然后从选择的内容中创建一个/home/blah/whatever字符串)。

尝试使用环境选项卡将PYTHONPATH设置为${PYTHONPATH};Z:path我需要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:reallylongpaththatIdontwanttotypeoften')

和事情会工作,但是…我真的不希望每次都要打这个。

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

经历了我在晚上这个时候能想到的所有想法(除了简单地将整个模块目录导入到我在pydev中工作的每个项目中,这似乎…不优雅,至少可以说),有没有人有一个想法,如何推动这个特殊的方形钉子通过圆孔?

Update:模块目录实际上是通过sshfs挂载的,并且在pythonpath中使用它,从终端启动python解释器的实例有些慢(35秒/秒)。试图从pydev中启动控制台似乎在&lt中超时;15秒,所以我想知道这里需要的是否只是一些方法来增加它等待解释器响应的时间,它试图在放弃之前启动,如果在输出代码段结束时"连接拒绝"消息意味着(如该代码段的其余部分似乎暗示)"在我放弃之前不接受连接"比"解释器明确告诉我连接不会发生"更重要?

我会尝试使用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'

最新更新