在共享主机virtualenv上安装Python模块

在共享主机virtualenv上安装Python模块,python,numpy,Python,Numpy,在我的共享主机帐户上的virtualenv中尝试使用python。基于安装了pip和其他一两个模块(echonest、remix),但试图安装numpy,长长的错误列表以“numpy/distutils”中不存在的路径开始:“site.cfg” /bin/sh:sversion:未找到命令 我阅读的说明中说,“确保您的路径优先于~/local/bin到/usr/bin,以便运行Python的“本地”副本,并且脚本引用该位置。” 这是否建议在某个地方建立一个链接,将调用指向/usr/bin/的链接

在我的共享主机帐户上的virtualenv中尝试使用python。基于安装了pip和其他一两个模块(echonest、remix),但试图安装numpy,长长的错误列表以“numpy/distutils”中不存在的路径开始:“site.cfg” /bin/sh:sversion:未找到命令

我阅读的说明中说,“确保您的路径优先于~/local/bin到/usr/bin,以便运行Python的“本地”副本,并且脚本引用该位置。”

这是否建议在某个地方建立一个链接,将调用指向
/usr/bin/
的链接指向
~/local/bin


解决方案是查找安装包并编辑其setup.py文件中的路径吗

这指的是linux环境变量
$PATH
,它列出了在不指定绝对路径的情况下查找命令可执行文件的目录。这将包含逗号分隔的路径列表,例如:

/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
您只需确保
/usr/local…
的内容排在前面(左),如下所示:

export PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin

这是指linux环境变量
$PATH
,它列出了当您没有指定绝对路径时,在其中查找命令的可执行文件的目录。这将包含逗号分隔的路径列表,例如:

/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
您只需确保
/usr/local…
的内容排在前面(左),如下所示:

export PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin

这是指linux环境变量
$PATH
,它列出了当您没有指定绝对路径时,在其中查找命令的可执行文件的目录。这将包含逗号分隔的路径列表,例如:

/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
您只需确保
/usr/local…
的内容排在前面(左),如下所示:

export PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin

这是指linux环境变量
$PATH
,它列出了当您没有指定绝对路径时,在其中查找命令的可执行文件的目录。这将包含逗号分隔的路径列表,例如:

/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
您只需确保
/usr/local…
的内容排在前面(左),如下所示:

export PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin

运行setup.py时,是否确实正在运行
~/local/bin/python


您可以做的一件特定于virtualenv的事情是
source~/local/bin/activate
,它会自动设置您的virtualenv优先于路径中的所有其他内容。它只在您注销终端实例或运行
停用

运行setup.py时是否确实在运行
~/local/bin/python
之前有效


您可以做的一件特定于virtualenv的事情是
source~/local/bin/activate
,它会自动设置您的virtualenv优先于路径中的所有其他内容。它只在您注销终端实例或运行
停用

运行setup.py时是否确实在运行
~/local/bin/python
之前有效


您可以做的一件特定于virtualenv的事情是
source~/local/bin/activate
,它会自动设置您的virtualenv优先于路径中的所有其他内容。它只在您注销终端实例或运行
停用

运行setup.py时是否确实在运行
~/local/bin/python
之前有效


您可以做的一件特定于virtualenv的事情是
source~/local/bin/activate
,它会自动设置您的virtualenv优先于路径中的所有其他内容。它只在您注销终端实例或运行
停用

之前起作用。我在评论中看到“本地”和“您的虚拟环境”之间的混淆。还有一个与$PATH并行的问题。是否只有一个路径问题?不有两个

诚然,我自己在一个不同的共享托管帐户上的类似努力最终也会失败,但我走得更远了,我似乎已经解决了一些问题。这里的混乱部分是因为在这个问题中有两个Dreamhost教程链接到,但是这两个wiki章节的作者没有做出任何努力来整合这两个章节

在本文中,错误在于在virtualenv一节中引入了对本地目录的讨论,尽管在构建自己的Python的下一节中才真正解释了这一点。关于如何处理$PATH的讨论还不完整。仅仅为了使用virtualenv,您不需要构建自己的Python或拥有本地目录

这甚至可能是有害的。此时的语言应该会让你充满绝望,因为它显示出你并不努力保持清晰。我认为这意味着mod_python和mod_wsgi(您必须在烧瓶实验中使用它们中的任何一种)不使用您可能想到的任何python——它们使用自己的python解释器,即系统版本。但该程序virtualenv也在您的虚拟环境中放置了一个Python解释器(您将使用该解释器进行安装,如果允许的话,还将最终运行flask)。virtualenv的警告要点是,不能在同一个服务器进程中使用两个不同的解释器运行。它们向您展示了解决方法

但我已经离题了。第二个Python教程介绍如何在目录/home/yourusername/local中构建自己的本地Python。一个更完整,但简洁的讨论将在

您的virtualenv应该占用第二个目录,我称之为yourvirtenv。旁边~/本地应该可以

因此,根据Sugath Mudali的有用说明,您需要执行export PATH=/home/yourusername/local/bin:$PATH,它将/home/yourusername/local/bin放在$PATH前面,您可以用“echo$PATH”确认。一旦这样做了,每当您在shell中使用“python”时,您将使用刚刚安装的python,您刚刚放置了它的路径