【发布时间】:2020-05-28 08:08:13
【问题描述】:
我通过 ssh 进入开发环境(vagrant Ubuntu box),我的项目目录映射到另一个文件系统(通过 vbox),因此不支持符号链接。我正在尝试创建一个新的 venv,但 --copies 标志没有得到尊重。
$sudo python -m venv --copies venv
Error: [Errno 71] Protocol error: 'lib' -> '/home/vagrant/vagrant_projects/rurp/venv/lib64'
如果我使用 python 2.7 ($virtualenv venv --always-copy) 它可以工作,但不适用于 python3 venv --copies 实现。 --always-copy 参数是解决 python2.x 类似问题的一种解决方法。
我在网上找不到任何表明 venv 存在错误的信息,我有点不知所措。其他人遇到过这个问题吗?
$ python -V
Python 3.6.9
提前谢谢你。
编辑:也在 python 3.8.1 中测试过。
【问题讨论】:
-
查看source code for
venv,--copies看起来像没有操作,除非您使用的是 Windows。 -
它设置了一个默认值,但不应该用group.add_argument a few lines later覆盖吗?
-
--copies使用store_false作为其动作,它只是将False存储在目标中,而不管已经存在什么,因此如果默认值已经是False,则它是无操作的. -
谢谢!您认为这属于错误还是只是文档问题?
标签: python python-3.x vagrant python-venv vagrant-windows