如何在没有pip或virtualenv的情况下安装python包
我必须将python应用程序部署到我无法控制的生产服务器(Ubuntu)上,我也无权如何在没有pip或virtualenv的情况下安装python包,python,ubuntu,Python,Ubuntu,我必须将python应用程序部署到我无法控制的生产服务器(Ubuntu)上,我也无权apt-get、pip、virtualenv、等。目前,服务器运行的是python 2.6+。我需要安装pycrypto作为应用程序的依赖项,但由于权限有限,我不确定如何安装。我唯一有权限做的就是wget一个资源,然后按照这些思路将其解包 首先,是否可以使用它而不使用上述方法安装?如果没有,我可以下载这个包,然后在pycrypto目录中放入\uuu init\uuuuuuuy.py文件,这样python就知道如何
apt-get、pip、virtualenv、
等。目前,服务器运行的是python 2.6+。我需要安装pycrypto
作为应用程序的依赖项,但由于权限有限,我不确定如何安装。我唯一有权限做的就是wget
一个资源,然后按照这些思路将其解包
首先,是否可以使用它而不使用上述方法安装?如果没有,我可以下载这个包,然后在pycrypto目录中放入\uuu init\uuuuuuuy.py
文件,这样python就知道如何找到它了:
/my_app
/pycrypto
/__init__.py
/pycrypto.py
使用
轻松安装
。它应该已经安装在Ubuntu for python 2.6+上。如果没有,请查看这些安装。使用轻松安装。它应该已经安装在Ubuntu for python 2.6+上。如果没有,请查看这些安装。根据,从python 2.6开始,您可以拥有每个用户的站点目录(请参阅)
因此,您可以使用easy\u install
的--user
选项为每个用户安装目录,而不是在系统范围内。我相信pip也有类似的选择。
这不需要任何特权,因为它只使用当前用户目录
如果未安装任何安装程序,可以手动将程序包解压缩到:
~/.local/lib/python2.6/site-packages
或者,如果您在Windows上,则进入:
%APPDATA%/Python/Python26/site-packages
在pycrypto
的情况下,软件包需要在安装之前构建,因为它包含一些C代码。源文件应包含一个setup.py
文件。您必须构建运行的库
python setup.py build
之后,您可以通过以下方式将其安装到用户目录中:
python setup.py install --user
请注意,构建阶段可能需要安装一些C库
如果不想这样做,唯一的选择是将库与应用程序一起提供
顺便说一下:我相信在执行系统范围的安装之前,easy\u install
不会真正检查您是否是root用户。它只是检查是否可以写入系统范围的站点目录。因此,如果您确实有在那里编写的权限,那么首先就不需要使用sudo
。然而,这真的很奇怪…根据,从python 2.6开始,您可以拥有每个用户的站点目录(请参阅)
因此,您可以使用easy\u install
的--user
选项为每个用户安装目录,而不是在系统范围内。我相信pip也有类似的选择。
这不需要任何特权,因为它只使用当前用户目录
如果未安装任何安装程序,可以手动将程序包解压缩到:
~/.local/lib/python2.6/site-packages
或者,如果您在Windows上,则进入:
%APPDATA%/Python/Python26/site-packages
在pycrypto
的情况下,软件包需要在安装之前构建,因为它包含一些C代码。源文件应包含一个setup.py
文件。您必须构建运行的库
python setup.py build
之后,您可以通过以下方式将其安装到用户目录中:
python setup.py install --user
请注意,构建阶段可能需要安装一些C库
如果不想这样做,唯一的选择是将库与应用程序一起提供
顺便说一下:我相信在执行系统范围的安装之前,easy\u install
不会真正检查您是否是root用户。它只是检查是否可以写入系统范围的站点目录。因此,如果您确实有在那里编写的权限,那么首先就不需要使用sudo
。然而,这真的很奇怪…如果没有sudo,您将如何安装?@PadraicCunningham是easy\u安装
系统上还没有?您需要sudo在我想象中安装python的任何/usr子目录中安装软件包。@PadraicCunningham如果您只为您的用户安装,则不会安装。如果您没有sudo,您将如何安装sudo?@PadraicCunningham是easy_install
系统上还没有?你需要sudo在我想象中安装python的任何/usr子目录中安装软件包。@PadraicCunningham如果你只是为你的用户安装的话就不会了。你可以试着把它放在你的PYTHONPATH中。你可以试着把它放在你的PYTHONPATH中。看起来我没有很容易安装,这两个都很糟糕。所以说得清楚一点,当你说用我的应用程序发送库时,你的意思是以我在问题中列出的方式还是其他方式?@Brad我刚刚更新了我的答案。您只需将包复制到每个用户站点目录中。有关详细信息,请参阅我的答案和链接文档。一些复杂的安装需要修改找到的一些.pth
,但这通常很容易。如果基本的复制/粘贴不起作用,请给我留言,我会检查pycrypto
是否需要一些配置。当然,easy_install会检查权限,pip也不会,但ubuntu肯定会检查。@PadraicCanningham我看不出你的评论有什么意义。我只是想澄清一下:系统安装并不意味着需要使用sudo
。您可以在没有sudo
权限的情况下执行系统安装(尽管这样做很奇怪…)我不明白您的意思,如果您想在ubuntu上使用pip或easy_安装python软件包到默认的软件包目录,您需要sudo。基本上能够在没有sudo的情况下安装全系统,这就违背了当初拥有sudo的目的。看起来我也没有简单的安装,这很糟糕。所以说得清楚一点,当你说用我的应用程序发送库时,你的意思是以我在问题中列出的方式还是其他方式?@Brad我刚刚更新了我的答案。您只需将包复制到每个用户站点目录中。请参阅我的答案和部门内的链接文档