从不同的目录安装python模块

从不同的目录安装python模块,python,module,python-2.x,Python,Module,Python 2.x,我发现了一个定制的http请求python模块,它大大简化了我的任务 具体来说,这一点: 所以我从一个网站下载了这个软件包。已提取存档并尝试安装模块 当我从模块所在的目录中使用以下命令时: python setup.py install 它工作正常,模块已安装 但我想知道如何从其他目录中执行此操作?当我尝试这个: python /home/some_user/setup.py install 我得到以下错误: Traceback (most recent call last): Fil

我发现了一个定制的http请求python模块,它大大简化了我的任务

具体来说,这一点:

所以我从一个网站下载了这个软件包。已提取存档并尝试安装模块

当我从模块所在的目录中使用以下命令时:

python setup.py install
它工作正常,模块已安装

但我想知道如何从其他目录中执行此操作?当我尝试这个:

python /home/some_user/setup.py install 
我得到以下错误:

Traceback (most recent call last):
  File "/home/some_user/setup.py", line 32, in <module>
    with open('requests/__init__.py', 'r') as fd:
  File "/usr/lib64/python2.6/codecs.py", line 881, in open
    file = __builtin__.open(filename, mode, buffering)
IOError: [Errno 2] No such file or directory: 'requests/__init__.py'
回溯(最近一次呼叫最后一次):
文件“/home/some_user/setup.py”,第32行,在
以open('requests/_init__.py','r')作为fd:
文件“/usr/lib64/python2.6/codecs.py”,第881行,打开
文件=\uuuu内置\uuuuu.open(文件名、模式、缓冲)
IOError:[Errno 2]没有这样的文件或目录:“requests/\uuuu init\uuuuu.py”
我这样问是因为我需要将它远程安装到其他机器上


提前感谢您的帮助。

一个好主意,正如@Mikko Ohtamaa所说的,使用
pip
virtualenv
。您还可以在python中添加模块所在的路径。有两种方法:

回溯的第二行

with open('requests/__init__.py', 'r') as fd:
明确说明
setup.py
使用相对路径来定位文件
requests/\uuuu init\uuuu.py
。如果您知道远程机器将在其中找到模块的完整路径,则可以调整
setup.py
以使用此绝对路径,而不是相对路径。
我建议查看所有的
setup.py
,因为如果您不需要使用
pip
(因为您没有从pip存储库安装包),它可能会尝试查找不仅仅是
\uuu init\uuuuuu.py
)的包,您可以将
kennethritz-requests-a693753/requests
文件夹的内容复制到
/usr/lib/pythonX.X/site packages/requests/
,其中X.X是您的python版本,如3.4

这样,包就不会被任何设置工具管理了——您需要手动管理包,但您可以自由导入
请求
模块并使用它


p.S.作为变体-创建rpm/deb包并快速跨系统分发

请阅读官方Python安装包指南。-我建议使用工具
pip
virtualenv
在不同的文件夹中进行独立的Python安装。