相关疑难解决方法(0)

/usr/bin/python 与 /usr/local/bin/python 对比

在 Linux 上,特别是 Debian Jessie,我应该使用/usr/bin/python还是应该安装另一个副本/usr/local/bin

据我所知,前者是系统版本,当操作系统更新时它可能会改变。这意味着我可以独立于操作系统更新后者的版本。由于我已经在使用 python 3,所以我看不出这会带来什么显着的实际差异。

使用local版本还有其他原因吗?

(我知道有大约 42 个关于如何在版本之间进行更改的问题,但我找不到任何关于原因的信息

python linux

9
推荐指数
1
解决办法
1万
查看次数

#!/ usr/bin/env和进程名称:价格可移植性?

使用#有很多好的 理由!在/ usr/bin中/ env的.底线:它使您的代码更具可移植性.好吧,有点儿.看一下这个....


我有两个几乎相同的脚本, bintest.py

#! /usr/bin/python
import time
time.sleep(5*60)
Run Code Online (Sandbox Code Playgroud)

envtest.py

#! /usr/bin/env python
import time
time.sleep(5*60)
Run Code Online (Sandbox Code Playgroud)

请注意,他们只是在他们的shebangs不同.


bintest.py 按预期运行

br@carina:~$ ./bintest.py & ps && killall bintest.py
[1] 15061
  PID TTY          TIME CMD
14625 pts/0    00:00:00 bash
15061 pts/0    00:00:00 bintest.py
15062 pts/0    00:00:00 ps
br@carina:~$ 
[1]+  Terminated              ./bintest.py

envtest.py做的事情不是最优的

br@carina:~$ ./envtest.py & ps && killall envtest.py
[1] 15066
  PID TTY          TIME CMD
14625 pts/0    00:00:00 bash
15066 pts/0    00:00:00 python
15067 …

command-line portability kill shebang environment-variables

6
推荐指数
1
解决办法
945
查看次数

的含义 #!在python中分开

我可以添加#!/ usr/bin/python在python脚本的开头,将此脚本添加到PATH,以便将其作为命令运行.

但有人可以向我解释'#'和'!'的含义 是什么意思在python和其他语言有这种机制?谢谢

python

6
推荐指数
1
解决办法
1765
查看次数

Hadoop Streaming Job在python中失败了

我有一个用Python编写的mapreduce工作.该程序在linux env中成功测试,但在Hadoop下运行时失败了.

这是作业命令:

hadoop  jar $HADOOP_HOME/contrib/streaming/hadoop-0.20.1+169.127-streaming.jar \
   -input /data/omni/20110115/exp6-10122 -output /home/yan/visitorpy.out \
   -mapper SessionMap.py   -reducer  SessionRed.py  -file SessionMap.py \
   -file  SessionRed.py
Run Code Online (Sandbox Code Playgroud)

Session*.py的模式是755,#!/usr/bin/env python是*.py文件中的第一行.Mapper.py是:

#!/usr/bin/env python
import sys
 for line in sys.stdin:
         val=line.split("\t")
         (visidH,visidL,sessionID)=(val[4],val[5],val[108])
         print "%s%s\t%s" % (visidH,visidL,sessionID)
Run Code Online (Sandbox Code Playgroud)

日志错误:

java.io.IOException: Broken pipe
    at java.io.FileOutputStream.writeBytes(Native Method)
    at java.io.FileOutputStream.write(FileOutputStream.java:260)
    at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
    at java.io.BufferedOutputStream.write(BufferedOutputStream.java:109)
    at java.io.DataOutputStream.write(DataOutputStream.java:90)
    at org.apache.hadoop.streaming.io.TextInputWriter.writeUTF8(TextInputWriter.java:72)
    at org.apache.hadoop.streaming.io.TextInputWriter.writeValue(TextInputWriter.java:51)
    at org.apache.hadoop.streaming.PipeMapper.map(PipeMapper.java:110)
    at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:50)
    at org.apache.hadoop.streaming.PipeMapRunner.run(PipeMapRunner.java:36)
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:358)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:307)
    at org.apache.hadoop.mapred.Child.main(Child.java:170)
    at org.apache.hadoop.streaming.PipeMapper.map(PipeMapper.java:126)
    at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:50)
    at org.apache.hadoop.streaming.PipeMapRunner.run(PipeMapRunner.java:36)
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:358) …
Run Code Online (Sandbox Code Playgroud)

python hadoop mapreduce

5
推荐指数
2
解决办法
1万
查看次数

ARMv8 - 在64位操作系统上运行传统的32位应用程序

通过ARMv8手册,我有以下问题来帮助理解大局.

  1. 可以遗留32位应用程序.(ARMv7或更早版本)在ARMv8操作系统上运行吗?

  2. 如果需要为ARMv8重建遗留应用程序并假设我将应用程序重建为32位(Aarch32),那么这需要32位操作系统底层支持吗?(知道寻址机制如何在这里工作很有趣.)

请尽可能提供参考.

PS:我的目标是支持Aarch64的Linux操作系统(3.7及更高版本)

linux arm arm64

5
推荐指数
1
解决办法
5858
查看次数

使Python脚本全局可执行

假设我已经调用了这个单行Python模块say_hello.py.

print 'Hello World'
Run Code Online (Sandbox Code Playgroud)

如何从终端中的任何位置使脚本可执行?也就是说,Hello World在我的系统的任何地方打印出Python解释器.我在OS X Mavericks上运行.

python-2.7

5
推荐指数
1
解决办法
3794
查看次数

注册商标:为什么strip去掉了®但替换却找不到?如何从文件夹和文件名中删除符号?

如果注册商标符号未出现在文件或文件夹名称的末尾,则无法使用 strip。为什么不取代工作?

\n\n

我有一些以注册商标符号命名的旧文件和文件夹,我想删除它们。

\n\n

这些文件没有扩展名。

\n\n
    \n
  • 文件夹:“\\data\\originals\\Word Finder\xc2\xae”
  • \n
  • 文件 1:“\\data\\originals\\Word Finder\xc2\xae DA”
  • \n
  • 文件 2:“\\data\\originals\\Word Finder\xc2\xae 同义词库”
  • \n
\n\n

对于文件夹,os.rename(p,p.strip(\'\xc2\xae\'))有效。但是,替换os.rename(p,p.replace(\'\xc2\xae\',\'\'))不适用于文件夹或文件。

\n\n

替换适用于输入的字符串,即: \n print \'Registered\xc2\xae Trademark\xc2\xae\'.replace(\'\xc2\xae\',\'\')。这些路径不遵循相同的逻辑是否有原因?

\n\n

笔记:

\n\n
    \n
  • 我正在使用 os.walk() 来获取文件夹和文件名
  • \n
\n

replace strip python-2.7

5
推荐指数
1
解决办法
2506
查看次数

如何在PHP/Laravel中运行Python脚本

我想知道如何使用PHP代码运行python脚本.我尝试过不同的选择

 $output = exec("python  /var/GAAutomationScript.py");

 $command = escapeshellcmd('/var/GAAutomationScript.py');
 $output = shell_exec($command);
Run Code Online (Sandbox Code Playgroud)

但无法运行python脚本.我的申请是在Laravel.是否可以使用Laravel调度程序作业运行python脚本,例如使用artisan命令?

php python laravel

5
推荐指数
1
解决办法
5068
查看次数

当我们需要chmod + x file.py时

我写了一个py脚本来从web获取页面,它只是读取写入权限,所以我的问题是我们何时需要执行权限?

python permissions chmod

4
推荐指数
2
解决办法
5937
查看次数

Python / usr / bin / env:错误的解释器:不是目录

我做错了 我安装了Python 3,然后执行了以下命令,以使defaut版本的Python作为Python3

sudo ln -fs /opt/Python-3.4.1/python /usr/bin/python
Run Code Online (Sandbox Code Playgroud)

但是我想回到python2.7,我做到了

sudo ln -fs /usr/bin/python2.7/python /usr/bin/python
Run Code Online (Sandbox Code Playgroud)

现在,当我想运行带有python的bash脚本时,出现以下错误:

/ usr / bin / env:错误的解释器:不是目录

当我运行此命令时:

ls -l /usr/bin/env
Run Code Online (Sandbox Code Playgroud)

我的结果是红色的:

lrwxrwxrwx 1 root root 25 Jun 12 13:37 / usr / bin / env-> /usr/bin/python2.7/python

确实,当我进入该目录时,我的env可执行文件不再存在,而是链接断开。

我没有在互联网上找到解决方案。

你可以帮帮我吗 ?我开始为自己的错误感到难过。

谢谢

python linux bash

4
推荐指数
1
解决办法
1万
查看次数