错误:[Errno 1]不允许操作:'/ usr / bin / pyobfuscate'MacOS Sierra

时间:2017-04-25 02:06:18

标签: python macos

我正在尝试使用以下命令python setup.py install在我的macOS Sierra上安装pyobfuscate:https://github.com/astrand/pyobfuscate但是我收到以下错误:

running install
running build
running install_data
copying pyobfuscate -> /usr/bin
error: [Errno 1] Operation not permitted: '/usr/bin/pyobfuscate'

我也尝试过使用sudo,但我得到完全相同的错误。

2 个答案:

答案 0 :(得分:0)

一般情况下:在当前的MacOS上避免使用/usr/bin(只读它是

) 除非已禁用系统完整性保护,否则

/usr/bin在新版本的MacOS上是不可写的,即使是root用户也是如此。考虑:

sudo python setup.py install --prefix=/usr/local

另一个根本不需要sudo的选项是使用virtualenv:

virtualenv ~/pyobfuscate.venv     ## create a virtualenv
. ~/pyobfuscate.venv/bin/activate ## activate that virtualenv
python setup.py install           ## install pyobfuscate in that virtualenv

...之后,在该shell中运行. ~/pyobfuscate.venv/bin/activate之前,在给定的shell中pyobfuscate

但是,在你做到这一点之前,需要修复pyobfuscate setup.py

尽管如此,当前版本的pyobfuscate的setup.py编写如下:

data_files=[('/usr/bin', ['pyobfuscate'])]

这不合适,而应该是:

scripts=['pyobfuscate']

...将遵循给定的前缀,无论是通过virtualenv还是--prefix=参数。

答案 1 :(得分:0)

setup.py 中替换

SelectedValue

data_files=[('/usr/bin', ['pyobfuscate'])]