试图在同一时间针对这些环境中的两个,我可以放心地说,如果您必须使用数据库等,您最终必须为该环境编写唯一的代码。你有一个很好的方法来处理这种情况?什么是编写Python代码,在CPython,Jython和IronPython中工作的一些策略
16
A
回答
15
如果做找到你需要编写唯一代码的环境中,使用蟒蛇
import mymodule_jython as mymodule
import mymodule_cpython as mymodule
有这个东西在一个简单的模块(“” module_importer'?),写你这样的代码:
from module_importer import mymodule
这样,您只需要在每个平台上改变module_importer.py
即可。
10
@Daren Thomas:我同意,但您应该使用platform module来确定您正在运行哪个解释器。
2
我为CPython和IronPython编写代码,但提示也应该适用于Jython。
基本上,我将所有平台特定的代码写入单独的模块/包中,然后根据我运行的平台导入相应的代码。 (请参阅上面的cdleary的注释)
这对于SQLite实现与实现任何GUI代码之间的差异时尤为重要。
1
#1事情IMO:专注于线程安全。 CPython的GIL使编写线程安全代码变得简单,因为一次只有一个线程可以访问解释器。 IronPython和Jython虽然有点不太好用。
0
我敢肯定你已经知道这一点,但遗憾的是Jython的can't load c extension modules.
0
有两种主要问题在这里打球......
首先,据我所知,只有CPython的有RAII - 你必须在Jython,Ironpython等中关闭自己的资源。
第二,如前所述,线程安全。
相关问题
- 1. Cpython,IronPython和PyPy究竟是什么?
- 2. 哪些编码策略在打字稿中更好?为什么?
- 3. vim中代码块和宏的最佳策略是什么?
- 4. Python需要一个GIL。但Jython和IronPython没有。为什么?
- 5. WF 4中的单元测试工作流的一些策略是什么?
- 6. IronPython和Jython与CPython有相同的GIL问题吗?
- 7. 什么是一个好的Linux退出错误代码策略?
- 8. 集成Jython Cpython
- 9. 为什么用python编写的决策树代码与用R编写的代码不同?
- 10. 为什么includeOptional不能像编写代码一样工作
- 11. 您在家工作时使用什么策略来同步您的代码
- 12. 任何CPython 2.7代码都可以在Jython 2.7b3中运行吗?
- 13. REST和RDF,表示策略是什么?
- 14. 什么是提取策略?
- 15. 为什么这个Python代码工作?
- 16. 我可以检测我的代码是否在cPython或Jython上运行?
- 17. PyPy +用python编写的Cpython扩展(rust-cpython)
- 18. 为什么这个方法调用工作,但不是在编写代码?
- 19. 以下代码的工作是什么?
- 20. CPython和IronPython的功能差异
- 21. 在Ubuntu上编译cpython代码16.04
- 22. 什么是记录代码更改的一些工具?
- 23. 什么是Perl的一些代码覆盖工具?
- 24. 这段代码中的编辑和新操作是什么?
- 25. 如何在IronPython中引用编译好的python代码?
- 26. 什么是编写和测试交互式python3代码的最佳工具?
- 27. 在Inser,编辑和删除操作中,在asp.net中编写JQuery代码的最佳方法是什么?
- 28. 为什么编码不总是工作?
- 29. CPython/Jython跨实现GUI
- 30. 在www.hostingcompany.com/~/mysite.com上维护源代码的好Git策略是什么?
So Daren,有没有办法让module_importer根据一些环境变量动态地导入正确的变量等。 – minty 2008-09-10 07:12:44
对不起,我在这里画一个空白。这将是一个优秀的SO问题:“如何动态地确定我们是否正在运行Jython,CPython或IronPython?”。然后,你可以在ifs中做... – 2008-09-10 11:42:39