赞
踩
根据 https://www.jianshu.com/p/128d56b2a3f2 改编
基于 Xcode 12.2, macOS 10.15.7
1、创建工程
Other – External Build System
2、填写 project 信息
Build Tool 默认为 /usr/bin/make
我这里使用 anaconda 的 python 环境 ~/opt/anaconda3/bin/python
;
创建后在工程中可以修改,所以选错了没关系。
创建简单的工程,这里的 tool 目前没看出作用,需要进一步探索。
3、点击 Next 会生成如下工程:
如果上一步 Build Tool 输错了,也可以在target – info 里修改
4、创建 main.py
编写简单的打印脚本:
print('hi, xcode py!')
5、Edit Scheme – Executable
修改 Executable 为 /usr/bin/python
(也可选其他 python,为避免挫败感,你可以先选这个作为测试;后面会讲到基于 venv 的 python)
点击 other,就可以选择文件;
选择文件时,使用快捷键 Command + Shift + G
可以进入文件夹搜索窗。
6、Edit Scheme – Arguments Passed On Launch
输入 并 勾选刚创建的 main.py 即可;
有些教程中建议输入地址 :$(SRCROOT)/main.py
我这样做后会报如下错误:
/Applications/Xcode.app/Contents/Developer/usr/bin/python3: can’t open file ‘$(SRCROOT)/main.py’: [Errno 2] No such file or directory
Program ended with exit code: 2
7、运行应用
点击 Command + R 即可运行
1、which python
有的教程中会说,可以通过下属命令来找到本机当前运行的python,来作为 Execuatable;
我得到如下路径后,这个 python 显示为灰色,无法选中
$ which python
/usr/local/bin/python
2、anaconda python
想选择一般常用的 ~/opt/anaconda3/bin/python
,同样为灰色,无法选中;
同文件夹目录下有个 python.app,可以选中,但运行后会报错如下:
Found an unexpected Mach-O header code: 0x622f2123
在使用 pycharm 时,我们创建 environment,是选择venv 的location;
这样也才能加载这个 venv 对应的第三方包信息(在上述工程中,我们如果引入 numpy,会报错)
所以如果选择 venv 中的 python,效果如何呢?
下面进行了尝试,确实可以。
1、创建 venv
$ cd ~/Desktop/002
# 基于 anaconda 的python 创建名为 venv1 的虚拟环境
$ virtualenv --no-site-packages -p ~/opt/anaconda3/bin/python venv1
# 进入虚拟环境
$ source ~/opt/anaconda3/bin/activate
# 安装 numpy
(base) $ pip install numpy
...
# 退出虚拟环境
(base) $ conda deactivate
$
2、返回 xcode, Executable
中选择 /Desktop/002/venv/bin/python
引入 numpy,编写相关代码,可以跑通。
import numpy as np
print('hi, xcode py!')
a = np.arange(8)
print ('原始数组:', a)
只需要找到脚本语言解释器的路径,然后在 Executable 中选择这个路径即可,比如:
$ which perl
/usr/bin/perl
$ which ruby
/usr/bin/ruby
$ which bash
/bin/bash
$ which zsh
/bin/zsh
伊织 2021-06-01 儿童节快乐
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。