大二的时候学习 Python,win 下开发,然后被安利了 linux。后来装个 ubuntu 作为日常开发就天天嘚瑟,事实上 linux 的环境对于初学 Python 帮助确实不小。这时候痛点就是没 QQ 啊(忽略 wine 版),跟同学转发个文件总说一下发我邮箱别发 QQ,然后就十分羡慕使用 mac 进行开发,各种环境也 OK,QQ 微信也都是有的。
实习后就是使用 mac 进行日常开发,确实方便很多啊,用着用着觉得 Python 开发环境就是这样的,似乎忘记了使用 Windows / linux 的痛,再后来就觉得用 mac 开发血统不纯正啊,用 linux 才够 geek。
然而现在真的换了一台非 mac 电脑,先折腾某 linux 发行版:我去 ss 有问题啊,几小时后终于可以越过墙了,麻蛋想要个 PAC 模式就这么难吗,然后以及遇到了其他问题 -> 没信仰了换 win 10:卧槽,依赖有问题啊,项目在 win 下 run 起来都费劲,然后就上 linux 子系统或者虚拟机解决呗,然而又带来了新的问题.....
请问各位大佬们都是使用什么系统环境进行开发,这些痛点是怎么解决的呢?(非引战,意在学习与讨论下大家的解决方案)
1
mrlcy 2018-05-27 23:43:27 +08:00 via iPhone
项目部署在什么环境 ,就用什么环境测试开发。
|
2
jerrry 2018-05-27 23:49:39 +08:00 via Android
换回 mac
|
3
gobomb 2018-05-27 23:57:09 +08:00 via iPhone
mac 是最方便的,图形界面和命令行终端都很好用。需要 linux 的时候,搞台云主机 ssh 上去就 ok,比虚拟机的方案好。
|
4
easylee 2018-05-28 00:23:01 +08:00 1
反正我是信了程序员要轻松省事就上 mac 的邪。
|
5
param 2018-05-28 00:27:18 +08:00 via Android
我推荐 ArchLinux。Linux 可以通过 iptables 设置全局代理。
|
6
hourann 2018-05-28 00:45:48 +08:00 via iPhone
从我目前接触过的项目来说,win 做 python 开发没什么痛感(除了项目要用到 Docker 外)。一些要编译环境的包可以下预编译包,除非一些库没对 win 做支持,大部分问题都能搜索一下解决。你在其他平台也是要踩坑的。但是有条件上 mac 还是用 mac,不输 windows 的 GUI 软件生态和碾压 windows 的开发环境搭建过程
|
7
rabbbit 2018-05-28 00:50:36 +08:00
Windows 下(别的没用过)
1 lxml 之类的库装不上,装 anaconda 即可解决 2 编解码问题,什么 GBK Bom 头,踩两次坑习惯了就好 |
8
RqPS6rhmP3Nyn3Tm 2018-05-28 00:53:59 +08:00 via iPad
Arch 好用,但是没基础不要碰,安装都装不上
|
9
janus77 2018-05-28 01:05:08 +08:00 via Android
还有正统这一说?所有的安装包不都是官方释出的?
等你工作多年换了几家全是不同的环境就知道了,什么系统从根本上没区别,都是做同一件事而已 |
10
dex2jar 2018-05-28 01:08:50 +08:00 via Android
装着 win,用虚拟机搞 linux 无压力
|
11
magiclx 2018-05-28 01:09:06 +08:00
PyCharm 横跨 win mac linux,可考虑购买部署环境相同的版本进行开发,需要查阅文档时,使用 横跨 win mac linux 的 FireFox,办公文档可 online,此外再无难处。用什么 OS 其实都可以,要说难点,就在于不熟悉 OS,不熟悉 Python 库,不熟悉约定,英语不够好咯。
|
12
LongLights 2018-05-28 01:26:47 +08:00 via Android
我前几天也是刚开始使用 Linux 然后 ssr 的 pac 模式用不了真是蛋疼。。。然后 sublime 的 sidebarenhancements 快捷键用不了真是蛋疼。。。然后我就把 win 装回来了
|
13
unlimitedsola 2018-05-28 01:49:24 +08:00 via Android
> 再后来就觉得用 mac 开发血统不纯正啊,用 linux 才够 geek。
炫耀驱动编程?够用还不可以? |
14
ericgui 2018-05-28 01:57:22 +08:00
这个很好,顶上去。
要知道,Windows 环境下玩 Python 真的是太 TM 痛苦了。其他都不说了。 Mac 要是有钱买,还是买 Mac 吧。 |
15
debuggerx 2018-05-28 02:34:52 +08:00 1
日常 deepin,写好的程序如果需要跨平台就通过 git 传到 vmware 里的 mac 和 win 去测试打包……
不过确实各个平台有各自的问题,最近一个月左右碰到的有: ①linux 下 pyqt 写的程序默认无法直接输入中文。 ②mac 下 pyqt5.8 以后直接复制文本框的内容出去会带 bom 头 ③win 下用 pyinstaller 打包 magic 库路径无法正确识别 dll,只能改 magic 加载 dll 相关源码 总的来说 win 的问题是最多的,花的时间最多。mac 好一些,只是习惯了 linux 包管理安装开发环境的方式以后觉得 mac 太废,brew 总是出问题和 apt 没法比。linux 门槛确实高一些,有一定积累之后会非常得心应手。 另外搞不懂为什么那么纠结于 pac,日常全局模式使用非常爽,经常用了一整天忽然要访问内网服务不通才发现原来是开了全局 ss,一个快捷键临时关闭代理,完事了快捷键再开,完全 ojbk |
16
lunafreya 2018-05-28 02:34:58 +08:00 via iPhone
Linux 就 Ubuntu, 别折腾 arch, 浪费生命
|
17
debuggerx 2018-05-28 03:08:26 +08:00
@debuggerx ss 的 pac 问题可能是因为官方只给 linux 做了 ss-qt 没有 pac 相关的支持吧,别的发行版怎么样我不清楚,deepin 社区有人仿照 win/mac 的客户端做了个 deepin 专用的小飞机,以前简单测试过应该是能用的:
https://github.com/PikachuHy/shadowsocks-client 不过因为我自己很早以前就克隆了 ss-qt 的源码添加了一些自己需要的功能代码(自动设置系统代理参数,响应快捷键等)后编译自用得很爽,所以并没有换他这个来日常用。而且最近用了谷歌 outline 方案之后发现完全用命令的方式调用 ss 库挂代理也挺方便的。 |
20
xiadong1994 2018-05-28 04:16:05 +08:00 via iPhone
开发的话只有 win 不正统吧……
|
21
congeec 2018-05-28 04:36:48 +08:00
你水平还是不够,驾驭不了 Linux 和 Windows。Geeky 有啥用,能讨妹子欢心么?还是老老实实用 Mac 写代码赚钱,有钱了买 Windows,Linux 设备各来一套
|
22
suantong 2018-05-28 05:38:26 +08:00 via Android 1
Mac 血统不纯正?什么血统?
|
23
msg7086 2018-05-28 06:10:26 +08:00
Python 开发,你说的是写还是运行?
写的话,哪个方便用哪个。 运行的话,生产环境用哪个就用哪个。 我偶尔要写 Python 的时候,Windows 下 Sublime 写完,生产环境 Ubuntu 12.04 下运行看效果。 |
24
chiu 2018-05-28 06:28:45 +08:00 via Android
目前日常跑的 linux,在 x230 上
|
25
clino 2018-05-28 06:57:45 +08:00 via Android
要说我有什么痛点,目前没有
用的 ubuntu |
26
janxin 2018-05-28 07:13:51 +08:00 via iPad
看你的需求。
windows 最大的问题是如果运行环境不一致就很蛋疼不如干脆上 linux,subsystem 也是有很多问题的。对于初学者而言,win 也是最难用,会出最多问题的系统。 linux 没什么蛋疼问题。 mac 蛋疼的问题是如果是要上 tf 之类的只能写和用模型,想用 mac 训练模型?趁早换系统。 当然你只是写不运行当我没说。用什么都一样反正都有 vscode/sublimetext |
27
blless 2018-05-28 07:15:48 +08:00 via Android
有些库比如 sanic,win 不兼容。mac 不确定,linux 肯定没问题
|
28
droiz 2018-05-28 07:31:35 +08:00 via iPhone 1
程序需要运行在 win 上就用 win 开发,否则就是 mac,除非你对 mac 极其讨厌或者对 linux 有信仰。年纪轻轻干什么不好,为什么非要把时间浪费在配 linux 环境上呢?
讨论某个操作系统的血统问题 /或者够不够 geek,这是病,得治。 |
29
loading 2018-05-28 07:40:54 +08:00 via iPhone
生产环境一致,别出一些诡异问题了,都不知道怎么死的。
|
30
doubleflower 2018-05-28 08:13:28 +08:00 via Android
@droiz linux 要什么配置?
|
31
murmur 2018-05-28 08:16:16 +08:00
web 相关的库出兼容性情况不多 但是 python 是个胶水语言 很多非纯 python 的库 都带了 c 的 lib 这就不好说了
考虑到*nix 系统的尿性 跟生产系统一致的 linux 才是正统 |
32
zsj950618 2018-05-28 08:17:08 +08:00 via Android
> 用 linux 才够 geek
说明你还不够 geek,不会用 linux。 要么老老实实学一下 linux 基础。要么老老实实用 mac。 |
33
zsj950618 2018-05-28 08:21:02 +08:00 via Android
|
34
fentensoft 2018-05-28 08:23:03 +08:00 via Android
用的 Arch,SS 用的 MEOW,所有海外流量全部代理
|
35
zynlp 2018-05-28 08:40:32 +08:00 via iPhone
docker 万岁
|
36
tukey 2018-05-28 08:53:00 +08:00
Ubuntu 下的 PAC 我还没弄会呢,楼主会了可以开个教程,ss 感觉在 Ubuntu 上就是个壳子。
|
38
keysona 2018-05-28 08:59:24 +08:00
迫于穷,我大学也是这样想的。期间装了很多发行版。
工作后,立马叛逃到 mac 了。 |
39
ctro15547 2018-05-28 09:14:02 +08:00 1
win 读写中文有编码问题,py3 好像好些了,不过开发环境是 py2,所以一直用 linux 写,而且部分库对 linux 支持比 win 好。 传文件的问题可以用手机 qq 接,usb 从手机里拿。ss 问题,一台手机或路由器做中转完事,闲功夫折腾转发。没用过 mac,或许有图形界面,各种完善的工具,可能会更好些吧
|
40
chesterzzy 2018-05-28 09:16:35 +08:00
我用 linux 虚拟机。反正如果计算量大我就放到组内服务器去跑。
|
41
pony279 2018-05-28 09:18:13 +08:00
full time linux 一年了。
我用 debian。没发现有那么多问题。有问题的都能自己解决。 |
42
wlwood 2018-05-28 09:18:57 +08:00
嗯,可能,需要换 Go 吧。跨系统编译,(逃。。。。
Mac 还好吧,有 QQ,有微信,又有终端。没啥正统不正统的(不过,我还是更喜欢 linux 些) Windows 下 Python,反正用的不舒服。 目前 linux 下为主,Windows 为辅。 Linux 下的问题: 1. qq,我用 vbox,装 xp,里面开 QQ。其实还好,XP 精简,不怎么卡。 2. 微信,网页版。 3. ss 的 PAC 模式,这个一般,我就自己收集下。保存到个文件,然后,就导入到代理的配置里面去就好了。 其实更主要是,什么用的不爽,Linux 下自己折腾到自己爽为止。其他系统不太好搞啊 |
43
Norie 2018-05-28 09:19:26 +08:00
等 mbp2018.。。
|
44
chaleaochexist 2018-05-28 09:25:02 +08:00
只针对 python 来说,用习惯了都一样.
引申来看的话,只是 windows 支持的 GUI 客户端多一些,linux 支持的 service 多一些. 譬如 - linux 上的很多 GUI 客户端只能找跨平台的,sourcetree 只支持 mac 和 windows. - redis 原生支持 linux, windows 的话只能在 github 上找 windows porting. 另外还取决于项目,有一些项目只支持 linux... 譬如 ralph 目前还没听说哪个项目只支持 windows 的. |
45
spkinger 2018-05-28 09:26:57 +08:00
win+Linux 虚拟机了解一下
|
46
Marmot 2018-05-28 09:30:13 +08:00
三个平台都用过,docker 万岁
|
48
fy 2018-05-28 09:34:18 +08:00
真·解决方案:Vagrant
说 Docker 的,Docker 不是为开发做准备的,而 Vagrant 是。 当然我这种玩游戏的懒人选择 Win10 + WSL |
49
dychenyi 2018-05-28 09:53:40 +08:00
最好的方式 win10+虚拟机。虽说 mac 也有虚拟机,但周边日常软件始终丰富度不如 win。
|
50
raptor 2018-05-28 10:00:46 +08:00
mac 和 linux 用起来都很顺,windows 没法用
|
51
Muninn 2018-05-28 10:19:57 +08:00
说 docker 的又没让在容器内开发。
只是在容器跑测试环境而已。 总的来说 mac > win10 > linux 我都用过很久 win10 可以在自带的 ubuntu 上跑测试 也可以在 docker 里跑。 |
52
mengzhuo 2018-05-28 10:29:18 +08:00
真工程师是不会被这些束缚的
我公司开发用 Win+Cygwin,Ubuntu 原生 在家用 Mac |
53
SupperMary 2018-05-28 10:32:45 +08:00 via Android
win 编码问题,没解决。
|
54
alexsunxl 2018-05-28 10:37:26 +08:00
arch +1
有两 win,一 mac,一 arch |
55
bbsteel 2018-05-28 10:43:24 +08:00 via Android
看起来你用 linux 的痛点就是没法转发文件,在三个系统里,这个是最容易解决的吧。ftp,邮箱,网盘哪一个解决不了。
N 年没用 qq 的人路过。 |
56
UnknownR 2018-05-28 11:09:32 +08:00
你看电影美剧里,程序员用 macOS 的比例可不少,比如碟中谍,硅谷,黑客军团这些,macOS 可是很 geek 的,看你怎么用了
|
57
Alexhex 2018-05-28 11:35:04 +08:00
各位大佬,我是一个新手自学者……目前试图在 mac 下面装 Python3 的时候遇到了这个问题:
https://stackoverflow.com/questions/49093290/attempted-install-of-python-3-via-homebrew-fails-on-mac-os-x-sierra 请问该如何解决。。 |
58
ftexplore 2018-05-28 11:45:25 +08:00
用什么系统都可以啊,解决问题就好。我个人一般生活和开发用 windows。然后代码托管、maven 服务器等一系列工作或者自己需要的服务,跑在额外的一台配置很低的 linux 上面。
|
59
crb912 2018-05-28 11:52:51 +08:00 via Android
服啦。ubuntu 写 python 不是美滋滋么?有啥痛点,搞不懂。
|
60
xpresslink 2018-05-28 11:53:11 +08:00
如果你 GIT 用得很 6,至少会 HOOK 啊,Pythcharm 的环境管理远程调试部署,会 wmare ESXi,docker,云平台操作。
LINUX 和 Windows Server 都有搭建服务的能力。 我不信你会有什么痛点。 总结一下,你的痛点来自于你自身技术水平的限制性,不要怪操作系统。 |
63
mcfog 2018-05-28 12:12:09 +08:00
桌面环境和运行环境的操作系统是两回事,前者 mac > win >>>>>> linux,后者 linux=docker>>>mac>>>>>....>>>>>>win
所以懒得折腾选 mac+mac 学生没钱选 win+linux/docker 备选 mac+linux/docker 以上 |
64
aristotll 2018-05-28 12:28:20 +08:00
@chaleaochexist #44 win32 binding
|
65
Alexhex 2018-05-28 13:34:21 +08:00
@crb912 感谢。当时没敢升级是因为听说 Mac 会依赖自带的 python 2,怕升级引起问题。而且不知道为什么不能平行的安装 python 3。上午找文章看了看应该是没有这种担心的。
|
66
swulling 2018-05-28 13:51:54 +08:00 via iPhone
MacOS 是正统的 UNIX
|
67
recall704 2018-05-28 13:56:05 +08:00
docker 解决一切
|
68
gogo81745 2018-05-28 14:02:21 +08:00 via Android
用 pycharm 支持远程 python 解释器的功能
在 wsl(windows subsysyem linux)装 python,嫌弃 wsl 不好的话上 vps、虚拟机都行。 https://juejin.im/entry/59352f62ac502e0068b12630 |
69
gogo81745 2018-05-28 14:03:13 +08:00 via Android
谁说开发机就一定得装 py 来着(斜眼笑)
|
70
msg7086 2018-05-28 14:19:23 +08:00
@lvhuiyang 我就是 Sublime 裸撸,然后 Syncthing 自动和 Linux 下的目录双向同步,直接在 Linux 下运行看结果。
Windows 上没有安装任何提示和运行环境。 不过我本来就不是 Python 程序员,所以可能参考意义不大。 |
71
Rob007 2018-05-28 17:02:14 +08:00
搞两台机器,一台 Ubuntu,撸 Python,一台 windows 日常办公
|
72
ytmsdy 2018-05-28 17:09:05 +08:00
在 windows 下写了 2 年 python 的默默路过。。。
装一个 pycharm 就可以了,虚拟环境,包管理,命令执行全部交给它就好。真心好用 |
74
limbo0 2018-05-28 18:32:28 +08:00 via Android
mac 没痛点
|
75
jiangnanyanyu 2018-05-28 18:41:36 +08:00 via Android
在 win 下开发 Python 的是不是不要活了。。。
|
76
PythonAnswer 2018-05-28 19:24:08 +08:00 via iPhone
先做到自己人肉跨平台,程序才能跨平台
|
77
sudoz 2018-05-28 19:24:47 +08:00
Linux/macOS 无痛
Win 很痛 |
78
geelaw 2018-05-28 19:31:53 +08:00 via iPhone
macOS 是正统 UNIX。
我没用过 Linux 和 macOS 做开发,实际上我几乎不怎么开发,不过就我有限的经验来看,Windows 下的问题大多是很多人懒得支持 Windows 弄的,直接把自己的代码绑死在 UNIX/POSIX/Linux 上。 |
79
conn4575 2018-05-28 21:19:40 +08:00 via Android
请一定要用 pycharm,不管你用什么系统,py 环境在哪里,pycharm 的远程编辑远程调试功能都可以帮你搞定
|
80
msg7086 2018-05-29 02:34:42 +08:00
@lvhuiyang 我们的 Python 程序都是跑在比较底层的,日常以打 log 为主。
我是 Ruby 程序员,不懂 Python,所以写 Python 的机会不是很多,一般打 log 就够用了。 |
81
sunzongzheng 2018-05-29 09:14:07 +08:00 via Android
初装 ubuntu,配置翻墙,我的顺序是: 去 githib 下 ss-qt,ubuntu 系统设置“全局”代理。然后就可以为所欲为配置了
|
83
lazydao 2018-05-29 10:12:02 +08:00
其实你自己已经能找到最适合自己的一套环境了,只是年轻,瞎 jb 折腾,不需要发帖问别人
|
84
southsala 2018-05-29 11:42:29 +08:00
mac
|
86
salamanderMH 2018-05-29 16:09:20 +08:00
windows 下有 wsl 了
|
88
SingeeKing 2018-05-29 18:25:22 +08:00
用了 Mac 才知道用 Windows 和 Linux 开发多么不舒服
|