㈠ 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窗口。