除了CPython,其他Python实现目前可用于生产系统?
问题
已经阐明了有关该主题的利弊.我现在想知道,如果那些更奇特的实现实际上用于必须可靠运行的系统中.(可能的例子?开源?)
编辑:我要求的代码需要Python版本> = 2.5
我最近开始学习Python.尚未冒险进入编码领域.在我的一次学习课程中,我来到了Jython这个学期.
我用Google搜索并获得了一些信息.
我想知道是否有人使用Jython实现了任何真实的程序.
在第一次导入模块时,Jython 在与相应文件相同的目录中创建$py.class文件(相当于Jython .pyc).py.
当进程没有写入该目录的权限时(一切正常,但没有$py.class文件,以及下次的过度编译),就会出现问题.一般来说,我感到不安的是,一个进程自动被认为对该目录有写权限,从中读取要运行的代码.
是否有任何技巧使Jython将编译后的文件写入某个专用缓存目录?此问题之前已在Jython邮件列表中提出过,但到目前为止还没有回复......
我想在我的JButtons 上留下默认边框,但也要在它们周围放置空白区域.我正在使用垂直BoxLayout.
我最初没有谈到边界,并且得到了LineBorder我想要的单像素,但是这些按钮都是相互对接的.
然后我试过了button[i].setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)).它不是在按钮周围添加空白区域,而是使按钮区域扩展.它也删除了LineBorder.
然后我尝试了: button[i].setBorder(BorderFactory.createCompoundBorder( BorderFactory.createEmptyBorder(5, 5, 5, 5), button.getBorder()))
这让我回来了LineBorder,但不是在线外添加空白区域,而是将按钮区域扩展到线外!
我意识到我可以添加空白框来分隔我的按钮,但我也希望它们的两侧都有空间,这就是为什么我要添加一个EmptyBorder.我是Swing的新手,所以也许有一种更好的方法可以做到这一点,我不知道:)
我正在使用Jython,但API应该与Java相同.
我用python开发了一个项目.现在我需要一个gui用于该项目.所以我选择jython for gui(java swing).我还将主题集成在一个代码中(现有项目+ gui(jython)代码).当我使用以下命令运行该文件时,它显示语法错误
jython project.py
Run Code Online (Sandbox Code Playgroud)
错误:
File "project.py", line 33
SyntaxError: 'with' will become a reserved keyword in Python 2.6
Run Code Online (Sandbox Code Playgroud)
线#33:
32 def _finished_loading(self, view, frame):
33 with open(self._file, 'w') as f:
Run Code Online (Sandbox Code Playgroud)
当我使用python命令运行现有项目时,它运行正常.这意味着该项目没有问题.我向你保证gui(jython)代码和集成也很好.
我正在尝试导入一个Java API,它作为jar文件分发.我在Stack Overflow中的类似问题中按照了这个答案的说明,但它没有用.
在Jython中,我做到了:
>>> import sys
>>> sys.path.append("/path/to/jar/api")
>>> from com.thingmagic import *
Traceback (most recent calls last):
File "<stdin>", line 1, in <module>
ImportError: no module named thingmagic
Run Code Online (Sandbox Code Playgroud)
我错过了什么或者我做错了什么?
我正在使用Jython进行开发,我需要使用需要byte[]作为参数的Java方法.
我试过了:
def randomBytesArray(length):
data = []
for _ in xrange(length):
data.append(chr(random.getrandbits(8)))
methodThatNeedsBytesArrays(data)
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
TypeError: methodThatNeedsBytesArrays(): 1st arg can't be coerced to byte[]
Run Code Online (Sandbox Code Playgroud) 我正在为我们的应用程序创建一个接口原型,以允许其他人使用python,我们的应用程序是用java编写的.我想将我们的一些数据从Java应用程序传递给python代码,但我不确定如何将对象传递给python.我使用简单的参数使用Jython做了一个简单的java-> python函数调用,发现它对我想要做的事情非常有用.鉴于下面的类,我如何在Python/Jython中将它用作函数/类的输入:
public class TestObject
{
private double[] values;
private int length;
private int anotherVariable;
//getters, setters
}
Run Code Online (Sandbox Code Playgroud) 示例代码:
from java.lang import System
if __name__ == '__main__':
[System.out.print(x) for x in "Python-powered Java Hello World from within a List-Comprehension."]
Run Code Online (Sandbox Code Playgroud)
烦人的输出:
console: Failed to install 'org.python.util.JLineConsole': java.nio.charset.UnsupportedCharsetException: cp0.
console: Failed to install 'org.python.util.JLineConsole': java.nio.charset.UnsupportedCharsetException: cp0.
Python-powered Java Hello World from within a List-Comprehension.
Run Code Online (Sandbox Code Playgroud)
我试过这里和这里描述的解决方案.两个解决方案都失败了(我已经将-Dpython.console.encoding = UTF-8参数添加到JVM和PyDev交互式控制台).
从4个月前开始还有另外一个问题,没有人回答.那么,我该如何解决呢?
编辑:我刚安装了新的Eclipse Luna,用Jython安装了PyDev,同样的事情发生了.
我在python中有一个脚本。这是我的一些代码:
from splinter import Browser
url = "http://arashiyan.ir/Narm/entekhab.html"
browser=Browser('firefox')
browser.visit(url)
second_found = browser.find_by_name("LsnGrp[]")[3]
second_found.fill("3")
Run Code Online (Sandbox Code Playgroud)
我想在我的android应用程序的一部分中运行此脚本。jython有可能吗?特纳克斯