我在Mac OS X上广泛使用Python,用于数值应用程序和Web开发(大致相等)。我检查了最近在笔记本电脑上安装的Python的数量,震惊地发现了 四个 :
Came with Mac OS X: /usr/bin/python Python 2.7.6 (default, Sep 9 2014, 15:04:36) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin Installed via Homebrew /usr/local/bin/python Python 2.7.10 (default, Jul 13 2015, 12:05:58) [GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin Installed via Anaconda/Miniconda ~/anaconda/bin/python Python 2.7.10 |Anaconda 2.3.0 (x86_64)| (default, Oct 19 2015, 18:31:17) [GCC 4.2.1 (Apple Inc. build 5577)] on darwin Anaconda is brought to you by Continuum Analytics. Please check out: http://continuum.io/thanks and https://anaconda.org Came with the downloaded .pkg from python.org /System/Library/Frameworks/Python.framework/Versions/Current/bin/python Python 2.7.6 (default, Sep 9 2014, 15:04:36) [GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
我决定统一所有这些,并使用conda。我删除了Homebrew版本和Python.org下载(保留主系统一个)。Conda非常适合数值计算,因为我可以在根环境中安装Jupyter / Numpy / Pandas,而不必为每个项目都安装virtualenvs。
conda
但是现在我整个Web开发工作流程都搞砸了。我的virtualenvs都不起作用,因为显然不应将conda和virtualenv一起使用。我试图从requirements.txt文件创建conda环境。我与django一起使用的一个软件包是“ markdown_deux”,在Conda存储库中不可用。我研究了构建它的方法,但是创建配方需要很多工作(创建YAML文件等)。
requirements.txt
有没有人为此找到好的妥协?我正在考虑回到一般的自制版本,并写一个别名以根据需要将路径更改回conda版本。尽管这还需要跟踪我现在正在使用的那个。
我将Homebrew Python用于我的所有项目(数据科学,某些Web开发)。
康达(Conda)没什么特别的,您可以结合使用Homebrew科学pip和手工制作相同的软件包。实际上,它甚至更好,因为您可以更好地控制安装内容。
pip
您只有在进行Web开发时才能使用virtualenvs。对于数值应用程序,您可能始终希望拥有软件包的最新版本。
如果要使用pip一次更新所有软件包,可以使用以下命令:
sudo -H pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 sudo -H pip install -U