[問題] Linux下Python配置與PyQT
希望可以請教一下板上大大們,一些問題,
並且希望大大們指點我該如何學習讓自己能解決這些問題<(_ _)>
先說一下目標,在下希望可以創建一個圖形化的程式打包來,到windows上跑,
讓windows上的用戶不用會python也可以使用我的程式,
然後因為我使用tkinter的能力不佳,畫面有點醜,經過推荐,想要嘗試用PyQT5做介面。
我的系統是Linux Mint 18.2
python版本舊的是3.5.2 新的是3.6.0
事情經過是這樣的,我clone了一個使用PyQT5的程式,試圖執行並且打包他,
但執行是跳錯了,
錯誤訊息是 ImportError: /usr/local/lib/python3.5/dist-packages/PyQt5/QtCore.so:
undefined symbol: PySlice_AdjustIndices
經過一些Google之後,我嘗試下載mu-editor,但是並沒有好轉,
我猜測可能python3.5的毛比較多,所以嘗試下載3.6,
結果對於系統不算很了解的我下載3.6之後問題更多了QAQQQ
我設定不知道哪裡出問題,執行時還是跳undefined symbol: PySlice_AdjustIndices
然後我發現我舊的檔案用pyinstaller打包時跳錯誤訊息
File "/usr/local/lib/python3.5/dist-packages/PyInstaller/utils/hooks/qt.py",
line 39, in qt_plugins_dir
raise Exception('Cannot find {0} plugin directories'.format(namespace))
Exception: Cannot find PyQt5 plugin directories
可是我嘗試打包的檔案並沒有包含PyQt5!
我發現執行python3 -V 的時候是Python 3.6.0
但如果我用絕對位址/usr/bin/python3 -V會是Python 3.5.2
我不懂為何會這樣...不是執行的shell會在/usr/bin裡嘛?
如果不是?那麼我現在執行的python3又是再哪裡?我該如何設定他?
總結:
我有3個主要問題
1.我該怎麼讓我linux上的PyQT跑起來?
2.為甚麼我沒有包含PyQT的程式打包跟著報錯?我該如何修理
3.python執行的shell我該如何設定?現在好混亂...
--
半壁河山半攻守
半爭成敗半悟道
許銀川
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.147.22
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1532017556.A.6DB.html
→
07/20 00:29,
7年前
, 1F
07/20 00:29, 1F
1.QAQQQ
2.我在pip PyQT以前有打包過那些檔案,是成功的,所以應該沒有相依到吧
→
07/20 00:30,
7年前
, 2F
07/20 00:30, 2F
→
07/20 00:30,
7年前
, 3F
07/20 00:30, 3F
→
07/20 00:30,
7年前
, 4F
07/20 00:30, 4F
→
07/20 00:31,
7年前
, 5F
07/20 00:31, 5F
我使用which python3找到了/usr/local/bin/python3
可是這樣來說的話/usr/bin的python3(3.5.2)應該會優先執行,
因為排比較前面不是嘛,不懂
→
07/20 00:31,
7年前
, 6F
07/20 00:31, 6F
我可能找時間研究一下
→
07/20 00:32,
7年前
, 7F
07/20 00:32, 7F
→
07/20 00:33,
7年前
, 8F
07/20 00:33, 8F
→
07/20 00:33,
7年前
, 9F
07/20 00:33, 9F
→
07/20 00:34,
7年前
, 10F
07/20 00:34, 10F
嗯嗯,有嘗試使用了
whereis python
python:
/usr/bin/python2.7
/usr/bin/python3.5m-config
/usr/bin/python
/usr/bin/python3.5m /usr/bin/python3.5 /usr/bin/python3.5-config
/usr/lib/python2.7 /usr/lib/python3.5 /usr/lib/python2.6 /etc/python2.7
/etc/python /etc/python3.5 /usr/local/bin/python3.6m-config
/usr/local/bin/python3.6-config /usr/local/bin/python3.6
/usr/local/bin/python3.6m /usr/local/lib/python2.7 /usr/local/lib/python3.5
/usr/local/lib/python3.6 /usr/include/python2.7 /usr/include/python3.5m
/usr/include/python3.5 /usr/share/python /usr/share/man/man1/python.1.gz
我好混亂...是我對於PATH的理解有錯嘛?
推
07/20 01:00,
7年前
, 11F
07/20 01:00, 11F
如果我之後找不到解,應該就投入anaconda的懷抱看看了QAQQQ
→
07/20 01:05,
7年前
, 12F
07/20 01:05, 12F
lrwxrwxrwx 1 root root 9 7月 19 22:34 /usr/local/bin/python3 -> python3.6
順便
lrwxrwxrwx 1 root root 9 7月 18 2017 /usr/bin/python3 -> python3.5
所以3.5的PATH這樣不是在3.6前面嘛(?
→
07/20 01:09,
7年前
, 13F
07/20 01:09, 13F
→
07/20 01:09,
7年前
, 14F
07/20 01:09, 14F
PATH前後要怎看阿?
echo $PATH
跑出
/usr/local/cuda-8.0/bin:/home/littlewind/bin:/home/littlewind/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/
games:/usr/local/games
→
07/20 01:13,
7年前
, 15F
07/20 01:13, 15F

→
07/20 01:13,
7年前
, 16F
07/20 01:13, 16F
→
07/20 01:13,
7年前
, 17F
07/20 01:13, 17F
→
07/20 01:14,
7年前
, 18F
07/20 01:14, 18F
→
07/20 01:14,
7年前
, 19F
07/20 01:14, 19F
→
07/20 01:16,
7年前
, 20F
07/20 01:16, 20F
→
07/20 01:16,
7年前
, 21F
07/20 01:16, 21F
→
07/20 01:17,
7年前
, 22F
07/20 01:17, 22F
嗯,謝謝您,第3個問題大約明白了,接下來就是等1和2了
可能會研究一下您說的venv不知道他跟anaconda相容嘛,應該可以吧吧吧
受我一拜,感謝您用心的講解m(_ _)m
7/23 自問自答3.5.2不行,3.6也不行,3.6.1就可以,結論是python毛的問題...
然後我運氣真差Orz
※ 編輯: st1009 (1.163.142.147), 07/23/2018 21:22:23
Python 近期熱門文章
PTT數位生活區 即時熱門文章