1.鸿蒙开发环境搭建、源码源码和编译
2.Linux Centos YUM 与 Python 的调试重装损坏修复记录
3.å¦ä½ç¨pymolåå¨ç»
4.PHP如何调用py的脚本
鸿蒙开发环境搭建、源码和编译
搭建鸿蒙开发环境,源码涉及到Linux与Windows主机的调试协同工作。Linux主机主要负责源码下载与编译,源码而Windows主机则用于程序烧写以及源码编辑。调试linux源码目录pdf推荐在C盘预留至少G空间以确保顺畅运行。源码
相较于虚拟机,调试Win的源码Ubuntu子系统(WSL)在内存与CPU资源消耗上更为高效。同时,调试由于可以直接访问WSL环境,源码相较于多系统操作,调试文件交互更为便捷。源码安装Ubuntu . LTS可通过Win应用商店完成。调试
初次启动Ubuntu . LTS会涉及软件安装与配置,源码耐心等待几分钟直至完成。安装目录为%USERPROFILE%\AppData\Local\Packages,Linux系统的根目录为rootfs,而你的家目录为/home/yourname。WSL下系统硬盘自动挂载,nexpose 源码如C/D盘对应/mnt/c,/mnt/d。
安装VcXsrv以实现X远程显示,下载后进行默认安装。启动XLaunch,选择“one large window”,Display number设置为0,其余保持默认即可。
安装桌面环境所需的必要软件,遇到问题时先更新apt-get,问题通常迎刃而解。配置CCSM(桌面控制中心)后,输入相应命令在XLaunch上显示桌面。
在Windows与Linux之间互看文件,可以通过在Ubuntu下查看“/mnt”目录实现。若需查看Ubuntu Python版本,可在/usr/bin下执行ls -l python*命令。系统中应包含python3.7及以上版本,确保满足需求。kylin源码
修改python命令指向的版本,使用mv命令将python3改名为python3.bak,然后使用ln -s命令将python3.8链接至python。配置repo工具用于下载与管理源码。
下载Harmony OS源码,如已完成,安装文件系统打包工具(dosfstools、mtools、zip)。执行编译指令前,确保scons命令路径在环境变量中。
使用虚拟env环境编译源码,执行编译目标平台的命令:/bin/python build.py wifiiot。如果在过程中遇到编译器问题,检查文件路径是否在环境变量中,添加至环境变量即可解决。
整个过程耗时约一天,系统空间需求接近G,建议在安装前做好系统空间管理,memchache源码确保过程顺畅。通过以上步骤,成功搭建鸿蒙开发环境,为后续的源码下载与编译打下坚实基础。
Linux Centos YUM 与 Python 的重装损坏修复记录
系统版本:CentOS 7.4
在尝试安装 Python3 时,不慎删除了 Python2,导致 yum 坏损,Python2 也被移除。经过国内外网络搜索,花费三天时间才解决此问题。
由于本人对 yum 命令和 Python 的了解有限,以下是在处理过程中总结的关键点,供参考:
1. yum 命令由 Python 编写(Python 2),因此没有安装 Python 2 无法使用,通常使用 Python 2.7。
2. Python 2 的安装方法有两种:下载源码编译安装或使用 rpm 命令安装。尝试了多种方法后,最终通过 rpm 安装成功。
3. 在重装 yum 和 Python 之前,原始源码请先删除残留文件,参考以下命令:
4. 开始安装前,先下载依赖包。由于没有 yum,需要手动下载,以下为所需包,版本号和文件名可能有所不同,但主名称一致。下载时注意系统版本(含 x_ 的文件名)。
下载的包如下:
这些文件放置在同一目录下,但仍可能缺少依赖包。可能是版本太新或太旧,导致各种问题。请参考下一步操作。
5. 使用 rpm 命令安装,遇到提示缺少依赖包的错误时,到源镜像中查找所需依赖包,下载到目录中。
6. 如果所有 *.rpm 文件都安装完成后,说明安装已完成,但可能无法使用。由于 yum 是 Python 编写的软件(解释型开发语言可以直接查看源码),因此必须先确保 Python 安装成功后再安装 yum。执行 python -V 大概率不会有问题。如果出现问题,请先解决 rpm 安装 Python2.7 的问题。
如果此时输入 yum 命令,可能会直接报错。错误原因可能如下:
1. 查看 /usr/bin 目录下是否所有 python 命令都存在,执行 ls python* 查看结果,应有 python、python2、python2.7 等命令,可以执行查看是否有问题。如有问题,请先解决 rpm 安装 Python2.7 的问题。
2. 可能是 Python 系统环境变量未设置。请参考以下操作:(非常重要的一步)
如果这一步不正确,会有各种缺少 Python 模块的提示:No module named xxxxxxx。
3. 以上步骤设置不正确,因此调试了 vi /usr/bin/yum 代码,查看 sys.path 路径。从另一台服务器查看路径后,在 /usr/bin/yum 中增加代码,强制指定目录,如下:
在 import sys 后增加路径,最后两行被注释的 print... 和 exit... 代码用于调试对比目录,可以尝试修改。
4. 将 Python 库路径添加到配置,不知道这一步是否有用,可以尝试。
5. 此时执行 yum 命令时,可能仍会出现相同问题,例如报缺:No module named sos.plugins 或 from yum import Errors 缺 No module named Errors 等。在 vi /usr/share/yum-cli/yummain.py 代码中,我在 import yum 后用 print(yum) 打印出来,显示类似以下内容:
会显示 import yum 的文件位置,.pyc 格式文件是做什么的,可以自行搜索。现在这步很重要,我把这个文件重命名了,然后 yum 命令就恢复了,哈哈。
6. 实际测试发现,yum 命令只恢复了一半,因为各种 yum 命令执行一半时会报错,例如:No module named urlgrabber.grabber。这是因为另一个地方的环境变量未设置正确。参考第 3 步强制添加的环境变量目录的方法,将 sys.path 添加到该文件:vi /usr/libexec/urlgrabber-ext-down。
7. 此时应该已恢复,使用 python 命令安装 pip 吧。有自动化安装脚本,可以下载。
8. 总结:
1. Python 2.7 是基础,在安装 yum 和 pip 之前必须先解决 Python 问题。安装 Python 的难点在于 rpm 的依赖包;安装 yum 的关键在于系统环境目录的设置,因为 yum 使用到 Python 的模块。
2. 国内找到的解决方案基本相同,但无法解决我的问题。感觉像是疑难杂症。在国外网站上找到解决思路后,感觉过程非常折腾!
å¦ä½ç¨pymolåå¨ç»
éè¦åå¤çå·¥ä½ï¼æ¾å°åéçç®æ èç½ï¼å ·æ两个ä¸åçæåç»æçèç½ï¼åºåæ好ç¸åGoogleä¸è½½morph_dist.inpè¿ä¸ªæ件ä¸è½½å®è£ Yale Universityæä¾çCrystallography&NMR Systemè¿ä¸ªè½¯ä»¶[2]ï¼å»ºè®®å¨linuxç³»ç»éå®è£ ä¸è½½å®è£ pymol软件[3]Window movie maker æè å ¶ä»ä»»ä½å¯ä»¥å©ç¨å¾ççæå¨ç»çè½¯ä»¶å ·ä½æä½ï¼ç¨pymolå°ä¸¤ä¸ªèç½alignå¨ä¸èµ·ä¿åï¼å³è¾¹æ§å¶æ Aalignto molecule--ï¼ï¼alignä¹åä¿åæ件ï¼save molecule asï¼å°morph_dist.inpè¿ä¸ªæ件ä¿åå°ä¸ä¸¤ä¸ªèç½pdbæ件ç¸åçè·¯å¾ä¸ï¼ç¨ææ¬ç¼è¾å¨æå¼ï¼å°å ¶ä¸çinitial pdbåfinal pdbæ¹æèªå·±ç两个pdbæ件åãå³åå«ä¸ºåå§ç¶æåæç»ç¶æãä¾å¦ï¼èªå·±ä¿åç两个èç½ä¸ºA.pdbåB.pdbï¼åæ¹æï¼initial="A.pdb";final="B.pdb";3. å¨å®è£ æCNS软件çlinuxæºå¨ä¸æå¼terminalï¼è¿å ¥å°æ件ä¿åçè·¯å¾ï¼cd å½ä»¤è¿å ¥è·¯å¾ï¼ï¼è¾å ¥cnsï¼å车4. è¾å ¥ @morph_dist.inp å½ä»¤ï¼è½¯ä»¶å°±ä¼èªå·±å¼å§è®¡ç®ä¸é´æpdbäºï¼é»è®¤çæçæ¯ä¸ªpdbãåå为frame*.pdb5. è¿è¡ç»æåè¾å ¥ä»¥ä¸å è¡å½ä»¤ï¼mv frame0.pdb frame.pdbmv frame1.pdb frame.pdbmv frame2.pdb frame.pdbmv frame3.pdb frame.pdbmv frame4.pdb frame.pdbmv frame5.pdb frame.pdbmv frame6.pdb frame.pdbmv frame7.pdb frame.pdbmv frame8.pdb frame.pdbmv frame9.pdb frame.pdbls frame*pdb |awk '{ print ("load",$0",mov,"NR) }' load_overall.pmlå ¶ä½ç¨æ¯ä½¿ååæ ¼å¼ç»ä¸ï¼å¹¶å°ææpdbæ´åå°ä¸ä¸ªæ件å½ä¸ï¼å³load_overall.pml6. è¿æ¶åæç¨å°pymolãæå¼pymolï¼å¨å½ä»¤æ ä¸è¾å ¥ @ load_overall.pmlï¼ è¿æ¶åå°±è½çå°ç»æäºãä¸è¿çå°çä¸æ¯ä¸ªç»æï¼äºå个ä¸ç第ä¸ä¸ªï¼å³è¾¹ææ¾ç¤º1/çåæ ·ã
PHP如何调用py的脚本
shell_exec函数可被用于执行shell命令。
该函数允许从PHP脚本执行shell命令,可用于运行程序和脚本,自动执行任务或提供PHP中不可用的功能。其参数是您要运行的命令,并以字符串形式返回命令的输出。
例如,使用shell_exec获取"ls"命令的输出:
$output = shell_exec('ls');
输出命令结果:
echo $output;
您还可以在命令中使用变量:
$dir = '/var/www/html';
$output = shell_exec("ls $dir");
使用管道将一个命令的输出传递给另一个命令:
$output = shell_exec('ls | grep index');
使用shell_exec时请注意安全风险,因为它允许在服务器上运行任意命令。建议谨慎使用,并清理所有输入,以防止恶意用户运行有害命令。
要从PHP脚本执行Python脚本,可以使用shell_exec函数运行python命令,并将Python脚本路径作为参数传递。例如,如果Python脚本位于/path/to/script.py,使用以下代码从PHP脚本执行它:
$output = shell_exec('python /path/to/script.py');
传递参数给Python脚本,包括在脚本路径后:
$output = shell_exec('python /path/to/script.py arg1 arg2');
注意,python命令在您的系统上可能会有所不同,取决于Python的安装方式。如果Python的可执行文件不在环境变量中,可能需要改用或指定完整路径。