『壹』 ubuntu 16.04 安裝python3.6 的問題
查了一下,你的第一個命令已經說找不到了,所以還要再安個別的
sudoapt-getinstallsoftware-properties-commonpython-software-properties
後面才是安python
sudoadd-apt-repositoryppa:jonathonf/python-3.6
sudoapt-getupdate
sudoapt-getinstallpython3.6
『貳』 linux下,寫了一個python腳本,但是在bash里只能通過python環境運行,無法直接運行,求助
#!/usr/bin/env python
# -*- coding: utf-8 -*-
一般來說在linux下運行的python文件要加上這兩句。
在Linux系統下可以免去很多錯誤
『叄』 bash: make: 未找到命令
可能是你的環境里默認沒有裝make,如果要編譯程序,必須自己在軟體中心手動搜索安裝如下軟體包:
gcc-dev ( 4.4.3 )
glibc-dev ( 2.11.1 )
linux-headers-dev ( 2.6.38.2 )
必備GNU編譯工具
make ( 3.81 )
automake ( 1.11.1 )
autoconf ( 2.65 )
m4 (1.4.14)
cmake ( 2.8.1 ,有些項目編譯是用cmake的)
『肆』 python執行shell,報錯:未找到命令
我打算用python來執行shell命令,實現sqoop導數據功能
腳本如下:
mysql_jdbc="jdbc:mysql://{0}:{1}/{2}?characterEncoding=utf8&autoReconnect=true"
sqoop import "-Dorg.apache.sqoop.splitter.allow_text_splitter=true" \
--connect $mysql_jdbc \
--username {3} \
--password {4} \
--table {5} \
--target-dir {7} \
--delete-target-dir \
--split-by clientid
然後報錯:sqoop:未找到命令
然後我就測試:subprocess.run("java -version",shell=True)
也是報錯:java:未找到命令
網上一頓網路,查了胡行2天啊~~~~
1、檢查/etc/profile環境變數設置沒問題
2、linux機器上直接執行java -version也正常
3、linux機器上執行python3後,執行subprocess.run("java -version",shell=True)也正常輪悔
我就奇了怪了,還擺不平你這小娘子
後來突然想到之前項目里,先生效一下profile文件,試了一下,果然臘做正有效!!!
我的親娘誒,絕望之際,解救了我~~~
至於為什麼一定要這樣,還是不解
正確腳本:
shell_str ="""
source /etc/profile;
java -version
"""
subprocess.run(shell_str, shell=True)
『伍』 用python編譯的一個題目,但為何一直提示最後一句SyntaxError: invalid syntax,一直沒找到錯誤在哪裡。
您好,在shell里運行的,您是在python里運行,自然會出錯了。
你直接打開命令行,然後就輸入
./MI-GRAALRunner.py testGraph1.gw testGraph2.gw result -p 3
就可以了,不能先進入python,至於是用python2還是python3運行,作者已經幫你設置好了。
shell指的是bash,不是python shell。python shell只能運行python語句,是不能運行這種命令的。
另外,建議你以後提問還是直接把所有錯誤信息一起復制了貼上來,那樣的話一看就能知道你是因為進入了python再執行才出錯的。
『陸』 在Python運行bash命令問題,怎麼解決
最近有個需求就是頁面上執行shell命令,第一想到的就是os.system,
復制代碼代碼如下:
os.system('cat /proc/cpuinfo')
但是發現頁面上列印的命令執行結果 0或者1,當然不滿足需求了。
嘗試第二種方案 os.popen()
復制代碼代碼如下:
output = os.popen('cat /proc/cpuinfo')
print output.read()
通過 os.popen() 返回的是 file read 的對象,對其進行讀取 read() 的操作可以看到執行的輸出。但是無法讀取程序執行的返回值)
嘗試第三種方案 commands.getstatusoutput() 一個方法就可以獲得到返回值和輸出,非常好用。
復制代碼代碼如下:
(status, output) = commands.getstatusoutput('cat /proc/cpuinfo')
print status, output
Python Document 中給的一個例子,
復制代碼代碼如下:
>>> import commands
>>> commands.getstatusoutput('ls /bin/ls')
(0, '/bin/ls')
>>> commands.getstatusoutput('cat /bin/junk')
(256, 'cat: /bin/junk: No such file or directory')
>>> commands.getstatusoutput('/bin/junk')
(256, 'sh: /bin/junk: not found')
>>> commands.getoutput('ls /bin/ls')
'/bin/ls'
>>> commands.getstatus('/bin/ls')
'-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls'
最後頁面上還可以根據返回值來顯示命令執行結果。
『柒』 /usr/bin/python3^M: bad interpreter: No such file or directory
2020-2-26
記一次linux操作報錯
問題:/usr/bin/python3^M: bad interpreter: No such file or directory;在linux下運行python腳本時報錯。
原因:.py腳本在 windows 系統 下用記事本文件編寫的。不同系統的編碼格式引起的。
解決方法:修改.py文件格式
(1)使用vi工具
vi test.sh
(2)利用如下命令豎羨賣查看文件格式
:set ff 或 :set fileformat
可以看到如下信息
余逗 fileformat= dos 或 fileformat=unix
(3) 利用如下命令修改文件格式
:set ff=unix 或 :set fileformat=unix
:wq (存檔退出)
註:其實,在windows下通派茄過git bash可以直接編寫unix格式.sh!
『捌』 在手機上通過termyx使用Python編程,如何換行,我按下回車鍵後直接顯示錯誤
1、在python中,Python 用反斜線 (「」) 作為續行符(換行符),這里以python3.5為例。首先運行終端或者cmd命令行(windows下),執行python3.5的命令。
『玖』 如何解決python升級後yum報錯
修改yum文件
#vi /usr/bin/yum
將 #!/usr/bin/python 修改為 #!/usr/bin/python2.6
以上方法解決問題後,由於手賤又安裝了python2.7.5,python3.4.5 還相信網上所說改了bash/芹謹譽profile,最後出現
-bash: /usr/bin/yum: /usr/bin/python2.6: bad interpreter: No such file
很明顯鏈接混亂找不到python2.6連接了
又按照不靠譜的重裝yum方法晌渣,yum徹底嫌段崩了
最後找到補救方法,只有兩行代碼。