㈠ python.core 是什么文件
python 是一种编译语言,这个应该是用编译工具生成的一个文件吧!
㈡ linux 安装python拓展包pexpect
哦。因为你是egg格式。所以需要安装一个setup tool,也有可能是ezsetup。这个在它的安装里有一个详细提示。
distuils.core是python的setup.py里引用的一个安装包。通常python安装分发包都要使用这个库。
从现在这个情况看。你的机器上的python似乎不是一个完整版本。
我以前在suse的linux上发现过这种问题。
你可以单独安装一个自己的python版本。这样linux原有的python与你安装的python相互不影响都可以使用。
㈢ 使用gdb查看python段错误(Segmentation fault)
公司有个业务是使用python脚本调用.so文件,但是有时候so文件内部发生错误,python就直接崩溃了,无任何提示信息,所以很不方便找错误原因.
使用 gdb 可以看到更详细的一些信息,其使用方式如下:
ulimit -c 是查看创建的核心转储的最大大小,这里为0,是需要修改的,可以将其改成不限制大小的 unlimited .
cat /proc/sys/kernel/core_pattern 这一步我的理解是查看到时候生成的缓存文件存储名称,这里为 core ,表示其会在当前目录下生成一个名为core的缓存文件,但是为了使其更加通用,可以修改一下其路径和名称格式.
可以看到在 var/cores 目录下生成了一个 core.python.31796 文件,此时可以在刚才的运行目录下执行,下面的 which 前面是`符号,不是单引号
此时可以看到项目最终是在 #0 0x00007f89d8700960 in mkl_pds_lp64_ladj_mod_pardiso () from /usr/lib/libmkl_intel_thread.so 时发生了错误,这个时候可以输入 bt 查看更多,其从上到下是错误从底层到最外层的顺序.
若执行的时候没有 gdb ,可以执行 apt-get install gdb 安装.
还有就是,若查看的时候错误地方是 #0 0x00000000005406df in ?? () 这样的没有具体函数名的情况,这是因为so文件在编译时候没有链接符号到文件里面,需要在使用gcc编译的时候加上 -g
㈣ cmd中Python程序不是内部或外部指令,也不是可运行的程序或批处理文件
首先你要明白凡是这种问题只有两种可能:1. 你没有正确安装这个软件;2. 没有配置环境变量。
如果你的电脑上同时安装了python2和python3,你可能想在命令行中方便地切换python2和python3.
参考知乎问题:同时装了Python3和Python2,怎么用pip?的解决方案,我们需要在电脑上使用python启动器(两个核心文件:py.exe和pyw.exe)。
但如果网友同我一样是使用Anaconda安装的python,那是没有这个python启动器的。得去网上下载,下载完成后把py.exe和pyw.exe放在C:\Windows\下面(如果不放在该文件夹下,你需要为这两个文件设置环境变量),然后双击py.exe。然后可以在命令行中测试。
如果你测试得到的是上述结果,那么恭喜你,你很顺利地成功了。
但如果你得到的是Requested Python version (2) not installed 或者Requested Python version (3) not installed,也要恭喜你和我碰到了同样的问题,你需要的是去注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore(如果是32位,可能在HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore)下面修改错误的那个版本的安装路径。比如,我把我的python2.exe的执行路径修改为下图所示:
到这一步你应该就能愉快地玩耍了,如果还没生效,你可能要重启一下DOS窗口。