Articles of python

交叉编译ARM的Python包

我如何交叉编译ARM架构的Python模块? 我有交叉编译pythonbuild议http://randomsplat.com/id5-cross-compiling-python-for-embedded-linux.html 我想在我的目标imx6q板上安装python-crontab,因为设备上没有可用的crontab。 该设备没有以太网。 我想使用python文件使用cron执行计划的作业。 有人可以帮助我..? 我在这里find了一些东西.. http://answers.ros.org/question/99066/install-python-module-for-cross-compile-target/,但我需要的东西具体..

为什么不能将多个文件复制到一个目录中?

我试图从一个目录复制多个文件到另一个目录。 src_files = os.listdir("srcdir") print(src_files) for file_name in src_files: full_file_name = os.path.join("srcdir", file_name) if (os.path.isfile(full_file_name)): shutil.copy(full_file_name, "destdir/") 不过,我收到以下错误: Traceback (most recent call last): File "script.py", line 539, in <module> buildGUI() File "script.py", line 385, in buildGUI shutil.copy(full_file_name, "destdir/") File "/home/opt/lib/python3.4/shutil.py", line 228, in copy copyfile(src, dst, follow_symlinks=follow_symlinks) File "/home/opt/lib/python3.4/shutil.py", line 108, in copyfile with open(dst, […]

使用notify-send远程linux桌面通知

我已经在zmq中创build了一个客户端 – 服务器系统,这将有助于将大量通知发送给login到networking上所有计算机的人员。 客户端守护进程在所有不同的机器上以root用户运行。 但是,当一个消息发送到一个这样的客户端,并且当它调用“notify-send”时,消息不会在用户桌面上popup。 我看到的错误是: (notify-send:8670):GLib-GObject-CRITICAL **:g_object_unref:声明`G_IS_OBJECT(object)'失败 我相信这是因为通知发送只能通过graphics界面发送。 或者通过在该特定用户下运行守护程序,而不是以root身份运行,并设置DISPLAY =:0 1)有没有办法发送通知,如通知发送或kdialog等运行客户端守护进程下的根,而不是用户本身? 2)还有其他方法可以更优雅地达到这一点吗? 3)而且,可以采用任何方式来做到这一点?

使用Marvell CPU框在Synology上安装Python的Pandas软件包

我有一个Synology(DS211j,DSM 5.1-5022 Update 1,Python27)框,我试图通过pip在它上面安装pandas包。 每次我运行pip install pandas ,我在控制台中收到以下错误信息: ImportError: No module named cygwinccompiler 我相信这个软件包应该安装在Windows机器上,而不是在Linux上。 有什么我需要安装之前使用pip工具?

Pyserial可以使用隐藏设备吗?

我试图访问一个出现在/dev/作为hidraw4的USB设备。 我有通信接口的说明(基于RS232串口通信),但我甚至无法与pyserial的连接工作: 码: import serial ser = serial.Serial(port='/dev/hidraw4') 错误: serial.serialutil.SerialException: Could not configure port: (22, 'Invalid argument') 我真的不明白我可以在/dev/find的hidraw和tty文件有什么区别。 Pyserial可以连接到这样的设备(如果没有,是否有解决方法)?

禁用特定文件上的caching/缓冲区(Linux)

我目前正在Yocto Linux版本中工作,并试图与FPGA上的硬件模块进行接口。 该模块正在模拟一个带有FAT16文件系统的SD卡; 包含一个文件(cam.raw)。 这个文件代表了FPGA和linux系统之间的共享内存空间。 因此,我希望能够将数据从linux系统写入这个存储器,并取回FPGA可能做出的任何更改(目前,FPGA只是从内存空间中取出部分数据,并将6个数据添加到一个32位字,就像我写0x40302010,如果我读回数据应该回到0x40302016)。 但是,由于某处存在一些caching,而我可以将数据写入FPGA,所以我不能立即得到结果。 我目前正在做这样的事情(使用Python,因为它很容易): % mount /dev/mmcblk1 /memstick % python >> import mmap >> import os >> f = os.open("/memstick/cam.raw", os.O_RDWR | os.O_DIRECT) >> m = mmap.mmap(f, 0) >> for i in xrange(1024): … m[i] = chr(i % 256) … >> m.flush() # Make sure data goes from linux to FPGA […]

奇怪的阻塞行为与python多处理队列put()和get()

我已经在python 2.7(linux下)写了一个类,它使用多个进程asynchronous操作数据库。 当我使用multiprocessing.Queue.put()和multiprocessing.Queue.get() ,我遇到了一个非常奇怪的阻塞行为,我无法解释。 以下是我所做的简化版本: from multiprocessing import Process, Queue class MyDB(object): def __init__(self): self.inqueue = Queue() p1 = Process(target = self._worker_process, kwargs={"inqueue": self.inqueue}) p1.daemon = True started = False while not started: try: p1.start() started = True except: time.sleep(1) #Sometimes I start a same second process but it makes no difference to my problem […]

:用不同的用户执行一个Python脚本会产生不同的行为

我试图用Python用我的用户“ubuntu”在Ubuntu中执行一个脚本。 这是亚马逊的虚拟机器,所以我试图执行该代码 $execQuery = "python script.py"; exec($execQuery, $output, $return); 通过使用ubuntu执行该命令的结果是好的 ,但从PHP(用户是www数据 )执行它,我得到: ImportError:没有名为skimage.io的模块 所以我认为有一个关于权限的错误,但是因为我从来没有用过Python,所以我不知道我必须把权限放在哪里。 有人有线索吗? 非常感谢你。 我试图使用pip install ___ –user www-data但也没有工作。

Python GUI来执行Bash / ksh环境和shell应用程序?

我一直在挖掘Python和GUI应用程序的世界,并取得了相当大的进展。 不过,我想就如何进行以下操作提供一些build议: 我已经创build了一个使用python的GUI应用程序(2.6.6 – 由于它是遗留系统,无法升级系统)以及显示多个button的gtk,例如app1,app2,app3 当我点击一个button,然后运行一个bash shell脚本。 该脚本将设置一些必需的环境variables,然后执行另一个外部应用程序(使用这些envvariables) 例: 1)使用buttonapp1上的点击 2)GUI然后启动app1.sh来设置环境variables 3)GUI然后运行external_app1 #external_app1是一个示例应用程序 #那需要一些环境 #variables在启动之前设置 示例app1.sh内容: #/bin/bash export DIR=/some/location/ export LICENSE=/some/license/ export SOMEVAR='some value' 注意 :由于configuration环境的方式,必须首先启动shell脚本来设置环境等,然后启动外部应用程序。 shell脚本将被locking,所以任何人都不能编辑它们。 所以我想过如何让python GUI执行这一点,到目前为止,我正在做以下几点: 当用户点击app1时,检查app1.sh是否可执行/可读,如果不是,则返回错误 创build另一个助手脚本,比如说helper1.sh将包含app1.sh然后是external_app1命令,然后让python通过下面的代码执行helper1.sh脚本: subprocess.Popen(helper1.sh, shell=True, stdout=out, stderr=subprocess.PIPE, close_fds=True) 示例helper1.sh内容: #!/usr/bin/env bash source app1.sh # sets up env variables if [ $? = 0 ]; then external_app & […]

如何将Python PyQt5应用程序部署到embedded式Linux?

我已经编写了一个使用PyQt5作为GUI的Python3应用程序,它在每个桌面系统上运行良好。 现在我想在一个由硬件制造商提供的embedded式Linux(特别是:Yocto BSP)上运行它。 由于没有PyQt5,而是运行在BSP上的qt5和python3包,我想(以某种方式)创build应用程序的独立可执行文件。 另外我没有经验写的bitbake食谱和创build一个自定义的BSP,并没有发现任何现有的PyQt5食谱。 我到目前为止所尝试的(并没有成功): 使用nuitka,cx-freeze,pyinstaller制作一个独立的可执行文件(在类似的arm平台上编译) 使用pyqtdeploy将python转换为c ++源代码,然后使用提供的构build环境进行编译。 我做了一个pyqt5和sip软件包的静态编译,一切都编译得很好,但是报告未定义的引用(链接器错误),我无法解决(因为我不是很熟悉c ++)。 现在让一个python / pyqt5应用程序运行在embedded式linux系统上的最好方法是什么?