我在mac上安装pyobjc时遇到问题 基本上我必须在系统默认python的新Mac系统上安装pyobjc。到目前为止,我已经尝试过easy_install,pip和下载pkg文件并进行安装。所有人都以不同的方式给我一个错误。有些人给我一个错误,说某些safari文件丢失了,因为某些权限被拒绝,即使我通过sudo su运行它们。 然后我找到了解决办法。
pip install pyobjc --user
这很有用,我可以访问我需要的所有模块,但是如果我尝试通过sudo运行python,我就无法访问这些模块。
任何人都可以建议修复此问题。
注意:我也不介意安装其他方法。此外,由于之前的一些困难,我还没有尝试过酿造。
注意2:我需要能够使用计算机上的所有用户,root用户和我(非root用户)访问这些模块
答案 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
个问题),也许chown
或chmod
可以解决这些问题。
所以这是我的计划:
计划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
执行的。不是一个好主意。