【发布时间】:2015-07-23 10:44:12
【问题描述】:
我的主机上有一个目录,其中包含一个 virtualenv。此目录与我必须在其上运行一些 Python 脚本(包含在同一目录中)的虚拟机共享。
当我在主机上的 virtualenv 中运行 Python 脚本时,脚本可以毫无问题地看到/使用 venv 包。但是,当我尝试在激活了相同 venv 的虚拟机中运行某些东西时,Python 看不到这些包。
一种解决方法是在客户机中创建一个新的 virtualenv 并使用主机的 requirements.txt 来填充包。另一个“但是”:我无法在来宾机器上安装 virtualenv。我运行pip install virtualenv,它等待了将近一分钟,然后我得到以下信息:
Cannot fetch index base URL https://pypi.python.org/simple/
Could not find any downloads that satisfy the requirement virtualenv
Cleaning up...
No distributions at all found for virtualenv
Storing debug log for failure in /home/mininet/.pip/pip.log
日志中的重要部分是:
usr/bin/pip run on Thu Jul 23 03:29:31 2015
Downloading/unpacking virtualenv
Getting page https://pypi.python.org/simple/virtualenv/
Could not fetch URL https://pypi.python.org/simple/virtualenv/: connection error: HTTPSConnectionPool(host='pypi.python.org', port=443): Max retries exceeded with url: /simple/virtualenv/ (Caused by <class 'socket.gaierror'>: [Errno -2] Name or service not known)
FWIW 我正在使用 VirtualBox 和 Mininet VM (Ubuntu)。 VM 可以访问 Internet。
那么,我的主要问题是为什么我不能在客户机中使用主机 venv 的包,即使使用相同的共享 venv?
两个次要问题是为什么我不能在来宾机器上安装 virtualenv,以及如果来宾没有安装 virtualenv,我如何激活来宾机器中的共享 venv?
【问题讨论】:
标签: python ubuntu pip virtualenv