在Mac上安装pyobjc

时间:2017-02-27 04:34:37

标签: python macos pip pyobjc

我在mac上安装pyobjc时遇到问题 基本上我必须在系统默认python的新Mac系统上安装pyobjc。到目前为止,我已经尝试过easy_install,pip和下载pkg文件并进行安装。所有人都以不同的方式给我一个错误。有些人给我一个错误,说某些safari文件丢失了,因为某些权限被拒绝,即使我通过sudo su运行它们。 然后我找到了解决办法。

    pip install pyobjc --user

这很有用,我可以访问我需要的所有模块,但是如果我尝试通过sudo运行python,我就无法访问这些模块。
任何人都可以建议修复此问题。

注意:我也不介意安装其他方法。此外,由于之前的一些困难,我还没有尝试过酿造。

注意2:我需要能够使用计算机上的所有用户,root用户和我(非root用户)访问这些模块

2 个答案:

答案 0 :(得分:1)

在安装当前的pyobjc之前,我必须(暂时)移动(使用sudo)/Library/Python/2.7/site-packages/Extras.pth到另一个名称。

这对我有用:

sudo mv /Library/Python/2.7/site-packages/Extras.pth /Library/Python/2.7/site-packages/Extras.pth_orig
pip install --upgrade pyobjc
sudo mv /Library/Python/2.7/site-packages/Extras.pth_orig /Library/Python/2.7/site-packages/Extras.pth

.pth文件中的内容似乎会干扰安装,但不会妨碍运行pyobjc。

答案 1 :(得分:0)

  

但是如果我尝试通过sudo运行python,我就无法访问它们   模块。

因为sudo python基本上意味着像其他用户一样运行python(默认情况下为root)。该用户可能拥有一组不同的环境变量,包括$PATH

某些Linux发行版为root用户使用较旧的Python版本,例如centos。如果您使用sudo运行的Python版本不正确,则可以使用#{1}}。访问由pip安装的那些模块。

所以在我看来,如果你没有获得权限问题,你就不需要使用sudo,使用sudo可能会带来意想不到的错误(大多数environment variables个问题),也许chownchmod可以解决这些问题。

所以这是我的计划:

计划A :最好的方法是尝试使用virtualenv

计划B :安装没有sudo命令的模块,如果遇到权限错误(不常见),请尝试--user

  

安装到您的平台的Python用户安装目录。   通常是Windows上的〜/ .local /或%APPDATA%Python。

在大多数情况下,您应该修改PYTHONPATH。请参阅How do I access packages installed by pip --user中的详细信息。

计划C :所有相关命令都是使用sudo。sudo pip install (all modules)sudo python script.py执行的。不是一个好主意。