python - 我想运行像 make , make install 和 python setup install 这样的命令

标签 python linux directory makefile setup.py

实际上我已经编写了一个脚本,它将软件从互联网下载到当前用户的主目录,然后解压它。我已经制作并安装它,在某些软件中我必须运行 python 安装程序。 py install 但现在的问题是我不想更改当前目录来运行所有这些命令。

有没有办法在命令中指定路径(make、make install、python setup install)

比如:python/home/username/Desktop/urllib/setup.py install

制作/home/用户名/Desktop/somedir/

make install/home/用户名/Desktop/somedir/

最佳答案

根据 make 的手册页:

-C dir, --directory=dir
     Change to directory dir before reading the makefiles or doing anything 
     else.  If multiple -C options are specified,  each  is interpreted  
     relative to the previous one: -C / -C etc is equivalent to -C /etc.  
     This is typically used with recursive invocations of make.

所以,你应该能够输入:

make -C /home/username/Desktop/somedir/
make -C /home/username/Desktop/somedir/ install

Python 命令行中没有等效项。但是您可以考虑在您的 shell 脚本中使用它:

(cd /home/username/Desktop/urllib/ && python setup.py install)

括号中的命令在“子外壳”中执行。因此,脚本的工作目录不会改变,但 python 命令将从 /home/username/Desktop/urllib/ 目录执行。 &&的使用保证了除非cd命令成功,否则不会执行Python命令。您也可以对 make 命令使用相同的技巧:

(cd /home/username/Desktop/somedir/ && make && make install)

关于python - 我想运行像 make , make install 和 python setup install 这样的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13620683/

相关文章:

cocoa - 目录路径内容过滤

python - 如何在 pandas HDF5 'read-only mode' 文件之上写入?

python - 结束无限的while循环

函数内的Python不可变对象(immutable对象)

file - 如何跳过导致 rust 执行的错误?

ruby-on-rails - 渲染目录中的图像

python - 导入错误 : cannot import name 'imshow'

linux - 针对内核源代码树构建 Linux 内核模块?

linux - 在目录中查找重复的文件名(不指定确切的文件名)

c - 在 C 中的输入系统调用期间添加的额外字符串