我在Pydev中设置了一个调用小脚本的解释器:
#!/bin/bash
WINEDEBUG=fixme-all WINEPREFIX=/home/dal/wine/Python wine C:\\Python27\\python.exe "$@"
启动一个Windows版本的python实例(我需要这个实例才能访问仅限Windows的ODBC数据库驱动程序)。 这很好用,我能够启动一个控制台,使用该解释器运行脚本等。
但是 - 我现在需要添加一个对存储我需要访问的模块的目录的引用 - 但是,python的windows版本需要一个PYTHONPATH,它的元素用分号和Z:\ home \ blah \分隔无论格式,而不是冒号和/ home / blah /等等。
Pydev不允许我在首选项中添加任意路径 - > pydev - >口译员 - >库部分(它希望我在文件选择器中找到路径,然后根据所选内容创建/ home / blah /任意字符串)。
尝试使用环境选项卡将PYTHONPATH设置为$ {PYTHONPATH} \; Z:\ path \ I \ need会导致pydev告诉我忘记它(它不会让我从该对话框中专门设置PYTHONPATH)
将PYTHONPATH=${PYTHONPATH}\;Z:\\path\\I\\need
添加到通过wine调用python的windows版本的shell脚本是我能想到的最后一件事,但它会导致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实例的问题,但是在pydev中运行的python实例似乎根本没有查看PYTHONSTARTUP
通过我在晚上的这个时间提出的所有想法(简单地将整个模块目录导入我在pydev中工作的每个项目,这看起来......不太优雅,至少可以说) ,有没有其他人想过如何将这个特殊的方形钉穿过圆孔?
更新:模块目录实际上是通过sshfs挂载的,并且在pythonpath中,从终端启动python解释器的实例有点慢(35秒ish)。尝试从pydev中启动控制台似乎超时了< 15秒,所以我想知道这里需要什么只是某种方式来增加它等待解释器的响应的时间,它试图在放弃之前启动,并且如果在结束时“连接被拒绝”消息输出片段意味着(正如该片段的其余部分似乎暗示的那样)'在我放弃之前不接受连接'更多,因为'解释器告诉我显然连接不会发生'?
答案 0 :(得分:0)
我会尝试使用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'