我找到了一个自定义的http请求python模块,它大大简化了我的任务。
具体这一个:http://docs.python-requests.org/en/latest/
所以我从网站下载了这个包。提取存档并尝试安装模块。
当我从模块所在的目录使用以下命令时:
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'
我在问,因为我需要将其远程安装到其他机器上。
提前感谢您的帮助。
答案 0 :(得分:0)
一个好主意,正如@Mikko Ohtamaa所说,使用pip
和virtualenv
。您还可以在python中添加位于模块的路径。有两种方法:sys.path and PYTHONPATH
答案 1 :(得分:0)
追溯的第二行
with open('requests/__init__.py', 'r') as fd:
明确指出setup.py
使用相对路径来定位文件requests/__init__.py
。如果您知道远程计算机将找到模块的完整路径,则可以调整setup.py
以使用此绝对路径,而不是相对路径。
我建议审核所有setup.py
,因为它可能会尝试找到的不只是__init__.py
。
答案 2 :(得分:0)
如果您不需要使用pip
管理此软件包(因为您没有从pip存储库安装软件包),您只需将kennethreitz-requests-a693753/requests
文件夹的内容复制到/usr/lib/pythonX.X/site-packages/requests/
,其中xx是你的python版本,如3.4
通过这种方式, 包不会被任何设置工具管理 - 您需要手动管理包,但您可以自由导入{{1} }模块并使用它。
P.S。作为变体 - 创建rpm / deb包并在系统中快速分发