我不知道';我不明白我是如何通过自制程序安装Python的

我不知道';我不明白我是如何通过自制程序安装Python的,python,homebrew,Python,Homebrew,我刚刚用自制软件安装了Python。我使用了命令brew install python(在安装XQuartz之后,这是一个先决条件) 这一页--告诉我如下: 问题 假设是标准的自制安装,前缀将为 /usr/local,酒窖将是/usr/local/cillar Homebrew使用标准的/configure将Python安装到Cell中 --前缀=#{prefix} 这就建立了: “站点包”文件夹为 /usr/local/ceral/python/2.7.3/lib/python2.7/sit

我刚刚用自制软件安装了Python。我使用了命令
brew install python
(在安装XQuartz之后,这是一个先决条件)

这一页--告诉我如下:

问题

假设是标准的自制安装,前缀将为
/usr/local
,酒窖将是
/usr/local/cillar

Homebrew使用标准的
/configure将Python安装到Cell中
--前缀=#{prefix}

这就建立了:

  • “站点包”文件夹为
    /usr/local/ceral/python/2.7.3/lib/python2.7/site包
  • “安装脚本”文件夹为
    /usr/local/ceral/python/2.7.3/bin
如果站点包位于Python的Cell中,那么用户安装的包 将在Python更新之间擦除。与安装脚本相同,具有 增加的问题是用户必须手动添加Python的酒窖容器 将文件夹复制到路径

解决方案

Homebrew在安装时执行两个操作以解决这些问题 问题

  • 首先,删除Cell site packages文件夹,并创建一个指向的符号链接 创建前缀中的
    /usr/local/lib/python2.7/site packages
    。这 将允许站点包在Python更新之间保持不变,如下所示 Homebrew对某些使用lib的语言有特殊处理 用户可安装的库

  • 其次,编写一个
    distutils.cfg
    文件来设置安装脚本 文件夹到
    /usr/local/share/python
    。用户可以添加
    /usr/local/share/python
    路径
    以获取已安装的脚本

我不明白的是,有一行写着“Cell site packages文件夹已删除,并且有一个指向的符号链接。” 前缀中的
/usr/local/lib/python2.7/site packages
已创建。“当我查看“前缀”(我理解为“/usr/local”)时,我没有看到符号链接。所引用的符号链接在哪里?

我感到困惑的原因之一是,当我运行
pip install virtualenvwrapper
时,我得到的输出告诉我:“需求已经满足:virtualenv clone in/Library/Python/2.7/site-packages(来自virtualenvwrapper)”。我不明白这个
/Library/Python/2.7/site packages
目录是从哪里来的,也不明白为什么会提到它

话虽如此,
pip install virtualenvwrapper
似乎完成时没有问题,而且不需要sudo,我认为这应该是使用自制软件安装的优势之一。
pip install virtualenvwrapper的整个输出是:

Downloading/unpacking virtualenvwrapper Running setup.py egg_info for package virtualenvwrapper Downloading/unpacking virtualenv (from virtualenvwrapper) Downloading virtualenv-1.8.2.tar.gz (2.2MB): 2.2MB downloaded Storing download in cache at ./Library/Caches/pip-downloads/http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fv%2Fvirtualenv%2Fvirtualenv-1.8.2.tar.gz Running setup.py egg_info for package virtualenv warning: no previously-included files matching '*' found under directory 'docs/_templates' warning: no previously-included files matching '*' found under directory 'docs/_build' Requirement already satisfied (use --upgrade to upgrade): virtualenv-clone in /Library/Python/2.7/site-packages (from virtualenvwrapper) Requirement already satisfied (use --upgrade to upgrade): stevedore in /Library/Python/2.7/site-packages (from virtualenvwrapper) Requirement already satisfied (use --upgrade to upgrade): distribute in /usr/local/lib/python2.7/site-packages/distribute-0.6.28-py2.7.egg (from stevedore->virtualenvwrapper) Installing collected packages: virtualenvwrapper, virtualenv Running setup.py install for virtualenvwrapper Skipping installation of /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenvwrapper/__init__.py (namespace package) Installing /usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenvwrapper-3.6-py2.7-nspkg.pth changing mode of /usr/local/share/python/virtualenvwrapper.sh to 755 changing mode of /usr/local/share/python/virtualenvwrapper_lazy.sh to 755 Running setup.py install for virtualenv warning: no previously-included files matching '*' found under directory 'docs/_templates' warning: no previously-included files matching '*' found under directory 'docs/_build' Installing virtualenv script to /usr/local/share/python Installing virtualenv-2.7 script to /usr/local/share/python Successfully installed virtualenvwrapper virtualenv Cleaning up... 下载/解包VirtualVWrapper 正在为包VirtualNVRapper运行setup.py egg\u info 下载/解包virtualenv(来自VirtualEnvrapper) 下载virtualenv-1.8.2.tar.gz(2.2MB):下载2.2MB 将下载存储在./Library/Caches/pip downloads/http%3A%2F%2fpyppi.python.org%2fpyPackages%2Fsource%2Fv%2Fvirtualenv%2Fvirtualenv-1.8.2.tar.gz的缓存中 正在为包virtualenv运行setup.py egg\u info 警告:在目录“docs/\u templates”下找不到以前包含的与“*”匹配的文件 警告:在目录“docs/\u build”下找不到以前包含的与“*”匹配的文件 已满足要求(使用--升级到升级):virtualenv clone in/Library/Python/2.7/site-packages(来自virtualenvwrapper) 已满足要求(使用--升级到升级):stevedore in/Library/Python/2.7/site-packages(来自virtualenvwrapper) 已满足要求(使用--升级到升级):在/usr/local/lib/python2.7/site-packages/distribute-0.6.28-py2.7.egg中分发(来自stevedore->virtualenvwrapper) 安装收集的软件包:VirtualEnvrapper、virtualenv 正在为VirtualEnvrapper运行setup.py安装 跳过/usr/local/ceral/python/2.7.3/Frameworks/python.framework/Versions/2.7/lib/python2.7/site packages/virtualenvwrapper/__init__;.py(命名空间包)的安装 安装/usr/local/ceral/python/2.7.3/Frameworks/python.framework/Versions/2.7/lib/python2.7/site-packages/virtualenvwrapper-3.6-py2.7-nspkg.pth 将/usr/local/share/python/virtualenvwrapper.sh的模式更改为755 将/usr/local/share/python/virtualenvwrapper_lazy.sh的模式更改为755 正在为virtualenv运行setup.py安装 警告:在目录“docs/\u templates”下找不到以前包含的与“*”匹配的文件 警告:在目录“docs/\u build”下找不到以前包含的与“*”匹配的文件 将virtualenv脚本安装到/usr/local/share/python 将virtualenv-2.7脚本安装到/usr/local/share/python 已成功安装VirtualEnvrapper virtualenv 清理。。。

对于python2.7.x,您可以在/usr/local/lib/python2.7/site-packages中找到它

Python 2.7还搜索以下位置中的模块:

/Library/Python/2.7/site-packages

~/Library/Python/2.7/lib/Python/site-packages

因此,您可能在/Library/Python2:7/site-packages中看到了以前安装的包

自制软件最近达到了1.0,自从你提出这个问题以来,已经发生了很大的变化