创建python3虚拟环境时,制表符完成(python3的默认设置)不再有效.为什么?

virtualenv -p /usr/bin/python3 --system-site-packages ~/venv3.site
. ~/venv3.site/bin/activate

如果没有--system-site-packages,它也有同样的问题:没有标签完成.如果我在没有激活任何虚拟环境的情况下运行python3,制表符完成就可以了.

推荐答案

引用Carl Meyer在第this GitHub comment页的话,

是的,virtualenv实现的一个更丑陋的方面是,它必须有自己的站点模块副本,该副本用于所有virtualenv,而不管它们是用哪个版本的Python创建的.

问题出在$VIRTUAL_ENV/lib/python3.4/site.py文件中,它没有设置tab completion.它不提供enablerlcompleter功能.将其与Python 3分发的site.py文件进行比较.

如果您使用的是Python 3.3或更新版本,我建议使用pyvenv而不是virtualenv.

python3 -mvenv ~/venv3.site

您可以做的另一件事是滚动自己的Python启动脚本,并在PYTHONSTARTUP环境变量中引用它.把标签完成和其他启动调整放在那里.参见Mike Covington的答案,了解此类脚本的示例.

Python-3.x相关问答推荐

是否可以使用参数对Flask重定向?

确定字符串的长度并提取前15或14个字符

将数据帧扩展为矩阵索引

如何将从维基百科表中抓取的数据转换为字典列表?

基于组/ID从原始数据框中创建两个子数据框

如何查找以开头并替换的字符串

如何将 WebDriver 传输到导入的测试?

将 rgb numpy 图像转换为 rgb 列表和相应的索引值

如何将搜索结果中的所有值保存在另一个列表中?

Pandas 在每组两个条件之间获得时间增量

Python BeautifulSoup:在 Select 语句中排除其他标签

使用 pandas 数据帧映射到中转( node )点的跨容量请求

Pytorch:图像标签

python tkInter 浏览文件夹按钮

简单的 get/post 请求在 python 3 中被阻止,但在 python 2 中没有

Python - For 循环数百万行

pandas 中 df.reindex() 和 df.set_index() 方法的区别

如何在 Python 中计算 cohen 的 d?

带百分号的 Python 字符串格式

同步调用协程