Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将macos上的python安装到/usr/bin文件夹中?_Python_Macos - Fatal编程技术网

如何将macos上的python安装到/usr/bin文件夹中?

如何将macos上的python安装到/usr/bin文件夹中?,python,macos,Python,Macos,我需要一个特定版本的python来适应Mac上的/usr/bin目录,以满足一系列内部假定该位置的工具。这些工具通常在linux上运行。我正试图在我的Mac上创建一个环境来开发不需要在linux上运行的工具。linux环境是使用以下命令设置的 $sudo apt get install--假设是--否安装建议使用python3.6-dev 默认情况下,它作为直接二进制可执行文件安装到/usr/bin: $ls-la/usr/bin | grep python3.6 lrwxrwx 1根根目录2

我需要一个特定版本的python来适应Mac上的
/usr/bin
目录,以满足一系列内部假定该位置的工具。这些工具通常在linux上运行。我正试图在我的Mac上创建一个环境来开发不需要在linux上运行的工具。linux环境是使用以下命令设置的

$sudo apt get install--假设是--否安装建议使用python3.6-dev
默认情况下,它作为直接二进制可执行文件安装到
/usr/bin

$ls-la/usr/bin | grep python3.6
lrwxrwx 1根根目录2018年12月24日pdb3.6->../lib/python3.6/pdb.py
-rwxr-xr-x 2根目录4555968 2018年12月24日python3.6
lrwxrwx 1根根目录2018年12月24日33日python3.6-config->x86_64-linux-gnu-python3.6-config
-rwxr-xr-x 2根根4555968 2018年12月24日python3.6m
LRWXRWX 1根根根目录2018年12月24日python3.6m-config->x86_64-linux-gnu-python3.6m-config
lrwxrwxrwx 1根根目录2018年12月24日x86_64-linux-gnu-python3.6-config->x86_64-linux-gnu-python3.6m-config
-rwxr-xr-x 1根根目录3204 2018年12月24日x86_64-linux-gnu-python3.6m-config
Python.org Mac安装程序 我试着运行,它似乎在我的应用程序文件夹中创建了一些东西

$ tree -L 1 /Applications/Python\ 3.6/
/Applications/Python\ 3.6/
├── IDLE.app
├── Icon\r
├── Install\ Certificates.command
├── License.rtf
├── Python\ Documentation.html -> /Library/Frameworks/Python.framework/Versions/3.6/Resources/English.lproj/Documentation/index.html
├── Python\ Launcher.app
├── ReadMe.rtf
└── Update\ Shell\ Profile.command
同时在我的路径上添加到python的路由

$ which python3.6
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
官方文档中有一些评论讨论了mac和python安装的特殊风格,但没有告诉我如何安装到应用程序以外的其他东西中

符号链接解决方案尝试 我尝试了一种解决方法,用sudo在我的
/usr/bin
文件夹中创建一个符号链接,但我只得到了一个
操作,这是不允许的
,这显然是不允许的

$sudo ln-s/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6/usr/bin/python3.6
项次:/usr/bin/python3.6:不允许操作

也许我可以从源代码构建并直接发布到/usr/bin?

为什么不将其符号化<不建议使用code>/usr/bin,因为您放在那里的任何东西都可能会随着
macOS
的更新而消失。您为什么想要/需要这样做?作为一个过去戴过操作系统供应商帽子(现在戴着嵌入式设备供应商帽子)的人,你的操作系统供应商确保他们分发的所有东西都不会因测试和已知的工作而改变其行为,这对你有利;将用户安装的软件保留在路径上但不在供应商控制的目录树中意味着供应商提供的软件将继续按照最初编写的方式工作,并且您可以控制是否在给定上下文中运行自定义软件堆栈(通过更改路径),如果这些工具在特定的地方使用特定版本的Python,即使是在Linux上,它们也是错误的。他们应该使用
/usr/bin/env-python
,这在任何地方都可以使用;每个软件都安装在自己的哈希地址
/nix/store
目录下,因此您可以同时安装通常会相互冲突的程序,并且每个会话/程序/等都可能使用哪个子集。请不要这样做。你要破坏你的操作系统。为什么不把它符号化呢<不建议使用code>/usr/bin,因为您放在那里的任何东西都可能会随着
macOS
的更新而消失。您为什么想要/需要这样做?作为一个过去戴过操作系统供应商帽子(现在戴着嵌入式设备供应商帽子)的人,你的操作系统供应商确保他们分发的所有东西都不会因测试和已知的工作而改变其行为,这对你有利;将用户安装的软件保留在路径上但不在供应商控制的目录树中意味着供应商提供的软件将继续按照最初编写的方式工作,并且您可以控制是否在给定上下文中运行自定义软件堆栈(通过更改路径),如果这些工具在特定的地方使用特定版本的Python,即使是在Linux上,它们也是错误的。他们应该使用
/usr/bin/env-python
,这在任何地方都可以使用;每个软件都安装在自己的哈希地址
/nix/store
目录下,因此您可以同时安装通常会相互冲突的程序,并且每个会话/程序/等都可能使用哪个子集。请不要这样做。你会破坏你的操作系统。