从不同的目录安装 python 模块
Install python module from diferrent directory
我找到了一个自定义的 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'
我问是因为我需要将它远程安装到其他机器上。
在此先感谢您的帮助。
正如@Mikko Ohtamaa 所说,使用 pip
和 virtualenv
是个好主意。您也可以在模块所在的 python 中添加路径。有两种方式:sys.path and PYTHONPATH
回溯的第 2 行
with open('requests/__init__.py', 'r') as fd:
明确表示setup.py
使用相对路径定位文件requests/__init__.py
。如果您知道完整路径,远程机器将在何处找到模块,您可以调整 setup.py
以使用此绝对路径,而不是相对路径。
我建议查看所有 setup.py
,因为它可能试图定位的不仅仅是 __init__.py
。
如果您不需要使用 pip
管理此包(因为您不是从 pip 存储库安装包),您可以将 kennethreitz-requests-a693753/requests
文件夹的内容复制到 /usr/lib/pythonX.X/site-packages/requests/
,其中x.x 是你的 python 版本,比如 3.4
这样一来,软件包将不会被任何设置工具管理 - 您需要手动管理软件包,但您可以自由导入 requests
模块并使用它。
P.S。作为变体 - 创建 rpm/deb 包并快速跨系统分发
我找到了一个自定义的 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'
我问是因为我需要将它远程安装到其他机器上。
在此先感谢您的帮助。
正如@Mikko Ohtamaa 所说,使用 pip
和 virtualenv
是个好主意。您也可以在模块所在的 python 中添加路径。有两种方式:sys.path and PYTHONPATH
回溯的第 2 行
with open('requests/__init__.py', 'r') as fd:
明确表示setup.py
使用相对路径定位文件requests/__init__.py
。如果您知道完整路径,远程机器将在何处找到模块,您可以调整 setup.py
以使用此绝对路径,而不是相对路径。
我建议查看所有 setup.py
,因为它可能试图定位的不仅仅是 __init__.py
。
如果您不需要使用 pip
管理此包(因为您不是从 pip 存储库安装包),您可以将 kennethreitz-requests-a693753/requests
文件夹的内容复制到 /usr/lib/pythonX.X/site-packages/requests/
,其中x.x 是你的 python 版本,比如 3.4
这样一来,软件包将不会被任何设置工具管理 - 您需要手动管理软件包,但您可以自由导入 requests
模块并使用它。
P.S。作为变体 - 创建 rpm/deb 包并快速跨系统分发