‘壹’ 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彻底嫌段崩了
最后找到补救方法,只有两行代码。