相关疑难解决方法(0)

Python 2和Python 3双重开发

我刚刚开始一个新的Python项目,理想情况下我想从一开始就提供Python 2和3支持,只需要很少的开发开销.我的问题是,为全新项目做这件事的最佳方法是什么?

作为安装脚本的一部分,我遇到了运行2to3甚至3to2的项目.这似乎是一种非常常见的方式.但是,似乎有几种不同的方法可以做到这一点.我也遇到了Distribute.

还可以选择编写多语言Python 2/Python 3代码.即使这看起来像一个可怕的想法,我注意到我最近编写的代码更像是Python 3代码,尽管我仍然以Python 2运行它.我有一种感觉这只会帮助我自己的过渡时这一天终于到来了,并没有为提供或至少帮助双重支持做多少.

我提供的大多数提供双重支持的项目都是后期添加了Python 3的支持,所以我特别好奇是否有更好的方法更适合新项目,你可以从中获得清晰的好处.

谢谢!

python python-2to3 python-3.x

29
推荐指数
4
解决办法
3442
查看次数

Python和字典就像对象

我需要一个用于字典的python 3.1深度更新函数(一个递归更新父字典内的子字典的函数).

但我认为,在将来,我的函数可能必须处理行为像字典但不是字典的对象.而且我想避免使用isinstancetype(因为它们被认为是坏的,因为我几乎可以阅读每个Pythonista的博客).

但鸭子打字是Python的哲学的一部分,所以我怎么能检查对象是否像字典一样?

谢谢!

编辑:谢谢大家的答案.以防万一,我编码的函数可以在这个地方找到:http://blog.cafeaumiel.com/public/python/dict_deep_update.py

python dictionary duck-typing

17
推荐指数
1
解决办法
8773
查看次数

当我尝试使用 PIP 安装库时,出现 AttributeError: module 'collections' has no attribute 'Iterable'

我刚刚在我的新电脑上安装了 python3 并尝试使用安装一些库(numpy,,),我得到cythoncymempip

AttributeError: module 'collections' has no attribute 'Iterable'
Run Code Online (Sandbox Code Playgroud)

但是图书馆喜欢nltk并且cytest安装得很好

python numpy cython cythonize

8
推荐指数
1
解决办法
4万
查看次数