如何在Xcode4、5、6或7中创建一个对Python友好的环境?
- Komodo是一个很好的特定于Python的替代方案,特别是如果您不想将Python与任何特定于OSX的东西结合起来。
- 嗯。看起来很有趣,但我不想把钱吐出来。
- 科莫多编辑是他们的自由选择。我有IDE,如果你认真地做Python的工作,它是值得的。
- 我推荐第四翼作为它的代码助理…很不错的。但是xcode 4相当漂亮。
- 我勒个去?未来的问题?2011年3月11日18:40????
- @Prajeethresha我会不时更新它,以保持它的相关性。
- @Tylercrompton我真的不觉得更新这个问题的版本是个好主意。我的意思是,对于新版本来说,这个答案(被否决和标记的)可能是不正确的。人们会来这里看看如何在V7中使用它,答案不会提供这个(只是一个例子,如果当前的答案是V7的话,还没有检查过)。
- @amfcosta,我每次更新问题时都会更新答案。
- @我仍然认为一个新版本应该有一个单独的问题和答案。希望在旧版本上执行此操作的人找不到它…
- @Tylercrompton:请停止更新此问题的版本号;当您更新已接受的答案时,您不会更新其他答案(仍为4、5和6),这会留下一个破碎的窗口。当主要版本之间的步骤发生变化时,您应该问另一个问题。
- @马特,首先,所有其他答案都特别提到了答案的版本号。第二,我也保持了第二个最乐观的问题最新。第三,安装了大量过时的Xcode版本是很少见的。注意,没有人抱怨他们使用的是问题所在的旧版本。事实上,人们正在推荐更新。第四,旧版本的说明仍然可以在修订历史中访问。没有理由阻止这个问题。
- @tylercrompton:(1)正是这样;因此窗口被破坏(例如,回答"如何在Xcode7中创建一个对python友好的环境"从"在Xcode4中…"开始)。(2)当链接内容更改时,您进行了一次编辑以更新步骤;您没有更新问题的最新版本(也不应该更新)。(3,4)期望人们检查修订历史是不合理的。我不明白你为什么要回滚我的编辑;因为(1)中列出的原因,这是对以前的改进。
- 注意,"如何处理更新版本"已经在meta上被广泛讨论,共识是a)发布新答案,b)附加到您的答案,或c)发布新问题;永远不要重新编写问题和答案。您可能会发现meta.stackoverflow.com/q/338972/444991或meta.stackoverflow.com/q/265433/444991相关。如果你想进一步质疑这个问题,我建议在meta上发表一篇文章来讨论这个问题,社区也可以在这里添加他们的意见。
我明白了!这些步骤使它看起来比实际需要更多的努力。好的。
这些说明用于从头开始创建项目。如果您有希望包含在此项目中的现有python脚本,显然需要稍微偏离这些说明。好的。
如果您发现这些说明由于Xcode更新的变化而不再有效或不清楚,请告诉我。我会做必要的修正。好的。
打开xcode。两者的说明相同。
在菜单栏中,单击"文件"→"新建"→"新建项目…"。
在左侧窗格中选择"其他",然后在右侧页面中选择"外部构建系统",然后单击"下一步"。
输入产品名称、组织名称或组织标识符。
对于"构建工具"字段,键入/usr/local/bin/python3 for python 3或/usr/bin/python3 for python 2,然后单击"下一步"。请注意,这假定您具有解析为python可执行文件的符号链接(默认设置)。如果您不确定python可执行文件在哪里,请在终端中输入以下任一命令:wthon3和wthonakbd。
点击"下一步"。
选择保存位置并单击"创建"。
在菜单栏中,单击"文件"→"新建"→"新建文件…"。
在"OS X"下选择"其他"。
选择"Empty"(空),然后单击"Next"(下一步)。
导航到项目文件夹(否则将不起作用),输入python文件的名称(包括扩展名".py"),然后单击"创建"。
在菜单栏中,点击"产品"→"方案"→"编辑方案…"。
单击左窗格中的"运行"。
在"信息"选项卡中,单击"可执行文件"字段,然后单击"其他…"。
从步骤5导航到可执行文件。您可能需要使用??gabbkbd在目录中键入(如果隐藏)。
选择可执行文件并单击"选择"。
取消选中"调试可执行文件"。如果跳过此步骤,Xcode将尝试调试python可执行文件本身。我不知道如何将外部调试工具集成到Xcode中。
单击"启动时传递的参数"下的"+"图标。您可能需要通过单击指向右侧的三角形来展开该部分。
输入$(srcroot)/(或$(source_root)/),然后输入要测试的python文件的名称。记住,python程序必须在项目文件夹中。否则,您必须在此处键入完整路径(如果路径位于项目文件夹的子文件夹中,则为相对路径)。如果完整路径中的任何位置都有空格,则必须在其开头和结尾包含引号。
点击"关闭"。
请注意,如果打开"实用程序"面板,并且"显示文件检查器"选项卡处于活动状态,则文件类型将自动设置为"默认-python脚本"。请随意查看它所拥有的所有文件类型选项,了解它能做什么。上述方法可应用于任何解释语言。就目前而言,我还没有弄清楚如何让它与Java一起工作;然后,我还没有做太多的研究。当然,在网上有一些关于这些的文档。好的。在没有管理权限的情况下运行:
如果您没有管理权限或不在开发人员组中,您仍然可以使用Xcode进行Python编程(但是您仍然无法使用需要编译的语言进行开发)。不使用"播放"按钮,而是在菜单栏中单击"产品"→"执行操作"→"无需构建即可运行"或只使用键盘快捷键^?拉布。好的。其他说明:要更改文本编码、行尾和/或缩进设置,请打开"实用程序"面板,然后单击"显示文件检查器"选项卡。在那里,您将找到这些设置。好的。
有关Xcode构建设置的更多信息,没有比这更好的源代码了。我很有兴趣听到有人让我用不支持的编译语言工作。此过程适用于任何其他解释语言。请务必相应地更改步骤5和步骤16。好的。好啊。
- 真是太棒了。可以进行交互式调试吗?我很想知道有几次我必须这么做。
- Xcode4经常为我做一些奇怪的自动缩进。你有类似的问题吗?你有没有找过他们?
- @阿尔伯特,不,我还没遇到过自动缩进的问题。哈哈,别搞砸了。@汤姆,我对pdb模块不太熟悉,因为我还不需要它。到目前为止,打印对账单已经足够了。不过,我可以想象。您可以使用input()(或者python 2中的raw_input()),所以我认为它的工作方式就像您在终端或类似的地方运行它一样。
- @阿尔伯特,你把它弄坏了。我认为,自动缩进仍然表现为如果您使用的是一个本地语言,如C、ObjuleC和C++。
- @泰勒·克伦普顿,哇!我不会使用这种描述,因为我没有Mac电脑,但我赞成你所做的漂亮工作和你为感兴趣的人提供的公平信息。
- 我今天开始学习python,发现它非常有用。谢谢您!
- 谢谢你?小费!不知道那个。
- 这似乎只适用于Mac附带的Python。我尝试使用我的/library/frameworks/…/python2.7,什么时候使用?要链接它,它不会让我打开那个文件夹。其他人有这个问题吗?不管怎样,我用的是Pycharm,但知道你能做到这一点真的很酷。:)
- @lciamp,我对pycharm没有经验;但是,我已经将其用于未预装在OSX上的Python版本。
- 我用xcode 4.6和python2.x实现了这个解决方案;如果你的路径有任何空间,请确保你注意步骤20。
- "Base Expansions On" field在哪里?
- @xxmbabanexx,说明有点过时。他们更改了该字段标签的文本。我已经相应地更新了说明书。
- @tylercrompton构建工具可以是我的virtualenv python吗?我该如何设置?
- 我在Xcode5.02中尝试过这个。它除了两件事外还起作用:1)我无法让这个方案与$(source_root)一起工作,所以我放弃了,使用了一个硬连线路径;2)当我在dyld`_dyld_start运行python脚本xcode stops时:如果我"继续"它似乎起作用。还有人经历过吗?
- @MacMadness86,是的,在步骤6中,只使用存储在虚拟环境中的二进制文件。如果您不知道这在哪里,请激活您的虚拟环境(如果您还没有这样做),并使用步骤6中所述的which命令。
- +1表示"哪个Python3"。下载python3时,很难找到它的可执行文件放在哪里,因此这有助于解决问题。
- 只是在版本6.1.1中,似乎没有针对Python的自动缩进。我想没有黑客可以让这成为可能吧?
- 对于如何通过Xcode获得输入,您有什么好的选择吗?(即让input()或raw_input()从xcode中工作?)
- @Holroy将< filename列为你在发射时最后一次提出的论点。
- 没有办法让它使用xcode进行交互?使用< filename是一种相当静态的方法…
- 我不知道。对不起的。
- 我们在Xcode中是否可以自动完成python?
- @tylercrompton i安装了各种版本的python,当试图选择它们时,它们的所有可执行文件都变灰了。我在网上搜索过,发现有很多人报告这个问题,但还没有找到解决方案。什么决定可执行文件是否是Xcode的有效选择?
- 既然你提到了,我注意到我也遇到了同样的问题。我通过将selectedDebuggerIdentifier设置为空字符串,将selectedLauncherIdentifier设置为"Xcode.IDEFoundation.Launcher.PosixSpawn",并将</PathRunnable>添加为子元素来编辑方案文件中的LaunchAction元素(隐藏在项目文件中)。
- 在Xcode8中,步骤3现在是:选择"跨平台"而不是"其他"
我已经创建了Xcode4模板来简化泰勒提供的步骤。结果是xcode 4的python项目模板。
现在您需要做的是下载模板,将其移动到/Developer/Library/Xcode/Templates/Project Templates/Mac/Others/,然后用xcode 4新建一个python项目。
它仍然需要手动设置方案(您可以参考泰勒提供的步骤12-20)。
- 我试图制作一个模板,但没有用。我对这件事不太了解,所以没有把它完成。模板的道具。当然,有一种方法可以自动设置方案。:
让python在xcode 7中工作的过程
步骤1:使用外部生成系统设置项目
。
步骤1.1:编辑项目方案
氧化镁
步骤2:将python指定为项目的可执行文件(shift-command-g),路径应该是/usr/bin/python
氧化镁
步骤3:指定自定义工作目录
氧化镁
步骤4:将命令行参数指定为python文件的名称。(在本例中,"test.py")。
氧化镁
。
第五步:谢天谢地,就是这样!
(在OSX支持Python调试器之前,无法添加调试?)
- 对于Xcode 7.0.1(7A1001),此过程似乎缺少一些步骤,从步骤1后开始……你能澄清一下吗?具体来说,我找不到步骤2中显示的对话框,shift-command-g是"查找上一个"命令…
- @traxusiv缺少的步骤是:在主xcode窗口中,单击项目名称。您应该得到一个带有"编辑方案…"、"新建方案…"和"管理方案…"的菜单,选择"编辑方案…",然后您将进入上面步骤2中所需的窗口。
- 对于外部构建系统构建工具,使用终端中的which命令来获取构建工具的确切位置。"在我的系统上,哪个lua"例如返回/usr/local/bin/lua"。
您应该为Eclipse尝试pydev插件。我尝试了很多编辑器/ide与Python一起使用,但我最喜欢的是Eclipse的pydev插件。它具有代码完成、调试器和许多其他不错的功能。另外两个都是免费的。
- 这就是我现在要做的。我还没让它发挥作用,因为看起来你得穿过几个圈才能做到,但这看起来就像我要做的。
- 是的,一旦你添加了python解释器,你就可以开始了。如果您有任何问题,请随时提出。
- 如何在这里添加python解释器来进行交互式编码?
另一种方法,我在xcode3中使用了一段时间:
见上述步骤1-15。
选择/bin/bash作为可执行文件
对于"调试器"字段,选择"无"。
在"arguments"选项卡中,单击"Base Expansions on"字段并选择先前创建的目标。
单击"启动时传递的参数"下的"+"图标。您可能需要通过单击指向右侧的三角形来展开该部分。
键入"-l"。这将告诉bash使用您的登录环境(pythonpath等)。
再次执行步骤19。
键入"-c'$(source_root)/.py'"
点击"确定"。
开始编码。
这种方法的好处在于,它将使用与在Xcode外运行相同的环境(如bash.profile中的设置)进行开发。
它还足够通用,可以让您开发/运行任何类型的文件,而不仅仅是Python。
这个线程是旧的,但为了配合Xcode版本8.3.3,泰勒·克朗普顿的方法在接受的答案仍然有效(有些名称是非常轻微的不同,但还不够重要)。
我稍微挣扎了2分:
第16步:如果您想要的python可执行文件是灰色的,右键单击它并选择QuickLook。然后关闭快速查看窗口,现在应该可以选择它了。
步骤19:如果这对您不起作用,您可以在"参数"选项卡中仅输入python文件的名称,然后在"工作目录"下的"选项"选项卡中显式输入项目根目录--选中"使用自定义工作目录"框,然后在其下的字段中键入项目根目录。
- 用鼠标左键点击"快速浏览"的技巧很棒!帮助我成功了!在Xcode9.2中非常感谢!
这个来自苹果开发人员库的技术说明TN2328帮助了我很多关于使用Xcode5.0嵌入Python的更改。
试试editra吧,它是免费的,有很多很酷的功能和插件,它可以在大多数平台上运行,并且是用python编写的。我在家里和工作中的Windows/Linux上使用它进行所有非Xcode开发。