我已经让我的sitecustomize.py执行了,但它丢失了一个错误。 Here's the code为此。
错误是:
Error in sitecustomize; set PYTHONVERBOSE for traceback:
RuntimeError: maximum recursion depth exceeded while calling a Python object
我还没有非常先进的Python,所以我想我只会评论出我认为不需要的线条。没有编码问题出现,所以我只是注释了第23-104行,但这也没有帮助。
我也碰巧安装了2.5.1,所以我用它编译了另一个脚本。
print 'This will test carriage returns on Windows with PyDev on Eclipse Helios'
print'Type something:',
test = raw_input()
print('You entered the following ascii values:')
for c in test:
print(str(ord(c)))
这很好,导致了
This will test carriage returns on Windows with PyDev on Eclipse Helios
Type something: g
You entered the following ascii values:
103
所以这可能只是Python3的东西?我知道它不是解释器,因为我能够在命令提示符下运行它就好了。是什么给了什么?
刚刚使用Helios进行测试,仍然遇到同样的问题。这是我的测试程序:
print('This will test carriage returns on Windows with PyDev on Eclipse Helios.')
print('Type something:', end='')
test = input()
print('You entered the following ascii values:')
for c in test:
print(str(ord(c)))
这是我输入'g'并按Enter键时的输出:
This will test carriage returns on Windows with PyDev on Eclipse Helios.
Type something:g
You entered the following ascii values:
103
13
在宏伟的计划中,这是一个小问题。我可以使用 input()。rstrip(),它可以工作。但是甚至不需要解决方法。我输入的语言是我正在使用的语言的两倍,因为它简洁而美观。
这是Eclipse 3.5。不幸的是,这是批准在工作中使用的最新版本。我打算在家里尝试3.6,看看是否有任何不同,但无论如何我都无法使用它。
(原始问题)
我一直在学习一些基本的Python,并决定使用PyDev,因为它支持Python 3以及所有漂亮的代码片段和自动完成功能。
但是,我在Windows上遇到了那个糟糕的回车问题。
我的搜索总是将我带回此邮件列表: http://www.mail-archive.com/python-list@python.org/msg269758.html
所以我抓住了sitecustomize.py文件,尝试将其包含在我配置的解释器的Python路径以及我的项目中,但无济于事。
有没有其他人设法解决这个问题?或者也许知道如何让新的sitecustomize.py实际执行,以便它可以覆盖input()和raw_input()?
我知道我总是可以使用自己的替换input()函数创建一个短模块,但我真的想从根本上解决问题。 Aptana承认这个问题(http://pydev.org/faq.html#why_raw_input_input_does_not_work_correctly),但没有提供解决方案。在此先感谢您的帮助。
答案 0 :(得分:2)
找出一个hack,让它在我的Python安装本地工作。在\ Lib \ site-packages \中创建一个名为“sitecustomize.py”的脚本,并将此代码放入其中:
original_input = builtins.input
def input(prompt=''):
return original_input(prompt).rstrip('\r')
input.__doc__ = original_input.__doc__
builtins.input = input
我对此的副作用一无所知,或者我应该做什么样的错误检查,但如果你在Windows上使用PyDev用Python3编写脚本,它就可以了。
答案 1 :(得分:0)
发现了一些关于sitecustomize.py的更多信息以及它与site.py的关系。
我不知道如何将我自己的sitecustomize.py添加到PYTHONPATH只能在PyDev项目中执行,所以我只是把它放在$ {Python31dir} \ Libs \ site-packages中。该模块现在运行,但会产生错误。