我使用该--no-site-packages
选项创建了virtualenv 并安装了许多库.现在我想恢复该--no-site-packages
选项并使用全局包.
我可以不重新创建virtualenv吗?
更确切地说:
我想知道使用该选项创建virtualenv时究竟发生了什么--no-site-packages
,而不是使用该选项.
如果我知道会发生什么,那么我可以弄清楚如何撤消它.
可能重复:
使virtualenv从您的全局站点包继承特定包
有没有办法创建一个virtualenv
for Python并指定应该从系统范围的安装中使用(继承)哪些包,以及从系统范围的安装中应该忽略哪些包?
更具体地说,例如,有一个系统范围的安装:
numpy
scipy
matplotlib
Run Code Online (Sandbox Code Playgroud)
我想创建一个虚拟环境,以便:
numpy
和scipy
matplotlib
,让我安装/升级我自己的版本(带pip -U matplotlib
).这可能吗?
我知道这个话题已经被打败了,但我无法找到解决我在 SO 或其他地方遇到的问题的方法,所以我怀疑我的系统中的某个地方可能存在错误。
我在使用 Python 3.4 的较旧的 RHEL 6 平台上。我正在开发一个将在使用 Qt 的平台上运行的应用程序。我已经通过yum
(例如qt-devel
、pyqt4-devel
等)安装了所有相关的库,现在想使用pip install -e mypkg
. 我也有几个依赖项要求没有打开yum
,必须通过pip
.
我想要做的是创建一个 virtualenv,它“继承”通过安装的系统包,yum
但允许我将pip install
自己的包放入我的主目录中的 virtualenv 目录中。
从我的谷歌搜索来看,最好的方法是使用系统的站点包目录创建一个虚拟环境:
$ python3 -m venv --system-site-packages ~/venv
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试将软件包安装到此 virtualenv 的 site-packages 目录时,它会尝试将其安装到该目录下,但/usr/lib
出现Permission denied
错误。
因此,该--system-site-packages
选项似乎使我的 virtualenv 完全共享了我系统中的 site-packages 目录,而不是将其用作“基础”,其中可以在顶部分层放置更多的包。
这个答案指出 usingpip install -I
应该做我想要的,但情况似乎并非如此:
(venv) $ pip3 install -I bitstring
...
error: could not create '/usr/lib/python3.4/site-packages/bitstring.py': …
Run Code Online (Sandbox Code Playgroud) 我正在使用 Hostgator 作为生产环境共享,并且在使用后安装一些 python 模块时遇到问题:
pip 安装 MySQL-python
pip 安装枕头
结果是:
无法执行 gcc:权限被拒绝错误:命令“gcc”失败,退出状态为 1
服务器限制
问题
是否有枕头的替代包装。我希望它使用 django ImageField。(就像 pymysql 是 mysql-python 的一个同样强大的替代品)
我在 root 中安装了像 mysql-python 和 pil 这样的模块,即 pip freeze 没有任何 virtualenv 列出了这些模块。但是我无法在此根环境中安装其他必需的模块,并且在我的 virtualenv 中无法安装 mysql-python 和 pil。可以做些什么吗?我们可以在 virtualenv 中以某种方式导入/使用安装在 root 中的包吗?
是 hostgator 共享仅适用于 PHP 而不适用于 python/django webapps。我们的流量有限,所以我们使用共享的hostgator。我们应该避免使用hostgator还是共享主机?它们对 python/django 来说是否足够好(我在托管静态/PHP 站点时没有遇到任何问题)。他们是否有太多的问题和限制或性能问题 (FCGI)?如果是,有哪些选择?
如何确保使用pip
安装的软件包不安装已安装的依赖项apt-get
?
例如,在Ubuntu上,您可以使用Numpy安装包apt-get install python-numpy
.哪个安装到:
usr/local/lib/python2.7/dist-packages
Run Code Online (Sandbox Code Playgroud)
我注意到,当我安装一个需要使用numpy的软件包时,它不再跳过numpy依赖pip
,pip install scipy
而是再次安装到另一个位置.
/usr/lib/python2.7/dist-packages
Run Code Online (Sandbox Code Playgroud)
pip应该做的是跳过全局安装的任何python包,对吧?