我有一个本地包装XYZ,我通常(成功地)安装使用:
sudo python setup.py install
现在我在~/anaconda3
下的主目录中安装了Anaconda(用于OSX)而不是系统范围的python安装。在没有sudo
的情况下运行上述命令,我希望软件包能够自动安装在~/anaconda3/lib/python3.6/site-packages
但是命令导致:
error: [Errno 13] Permission denied: 'XYZ.egg-info/PKG-INFO'
显然setup.py install
试图写一个只有root才能访问的地方。感谢任何暗示...
我尝试了sudo
。实际上,使用sudo
文件确实安装在本地路径中。只有所有者是root用户。所以我必须手动chwon
文件给自己。很高兴找出sudo
为什么需要setup.py
来安装在我自己的主文件夹中?
答案 0 :(得分:1)
错误是因为当您第一次运行sudo setup.py install
时,创建了XYZ.egg_info
目录(与setup.py文件位于同一文件夹中),并且设置为由root用户拥有。要删除此文件夹(以及之前安装的任何其他碎片),您可以运行
sudo python setup.py clean --all
或使用例如sudo rm -r XYZ.egg_info