【问题标题】:[Python]Fail to create virtualenv[Python]创建虚拟环境失败
【发布时间】:2016-03-29 10:38:47
【问题描述】:

我试图用 python3 在我的 vagrant centos7 上创建一个 virtualenv,然后发生了以下情况。我能用它做些什么吗? virtualenv 的版本是 13.1.2,python 是 3.5.1。谢谢。

$ virtualenv -p python3 venv
Running virtualenv with interpreter /usr/local/bin/python3
Using base prefix '/usr/local'
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/site-packages/virtualenv.py", line 2363, in <module>
    main()
  File "/usr/local/lib/python3.5/site-packages/virtualenv.py", line 832, in main
    symlink=options.symlink)
  File "/usr/local/lib/python3.5/site-packages/virtualenv.py", line 994, in create_environment
    site_packages=site_packages, clear=clear, symlink=symlink))
  File "/usr/local/lib/python3.5/site-packages/virtualenv.py", line 1192, in install_python
    copy_required_modules(home_dir, symlink)
  File "/usr/local/lib/python3.5/site-packages/virtualenv.py", line 1131, in copy_required_modules
    copyfile(filename, dst_filename, symlink)
  File "/usr/local/lib/python3.5/site-packages/virtualenv.py", line 468, in copyfile
    os.makedirs(os.path.dirname(dest))
  File "/usr/local/lib/python3.5/os.py", line 241, in makedirs
    mkdir(name, mode)
FileExistsError: [Errno 17] File exists: 'venv/lib/python3.5/lib-dynload'

【问题讨论】:

  • 看起来您在该目录中已经有一个(可能损坏的)virtualenv venv,并且默认情况下 virtualenv 不会覆盖现有文件。尝试删除它 (rm -rf venv) 并再次运行创建命令,或使用 --clear 开关进行 virtualenv。
  • 我尝试删除并创建了几次 venv,但即使使用 --clear 仍然无法正常工作。有什么办法可以修复损坏的 virtualenv 吗?我尝试使用 pip 重新安装它,但也无法正常工作。或者我应该重新安装整个 centos 以节省时间。
  • 如果您尝试在同步文件夹中创建 virtualenv,则可能是符号链接未正确创建的问题,如this 问题。
  • 是的,如果不在共享文件夹中,它也可以正常工作。即使它是完美的解决方案,我也只会在共享文件夹之外构建 venv。但是,我在尝试安装 djangocms-installer 时发现了另一个问题(必须安装 setuptools 才能从源代码分发版安装),但这是一个不同的问题,所以我认为这个问题已经解决。谢谢。

标签: python python-3.x centos virtualenv


【解决方案1】:

这可能是共享文件夹符号链接的问题。我通过简单地在共享文件夹之外创建venv 来解决它。

【讨论】:

    【解决方案2】:

    你可能已经有一个venv了,试着用删除它

    rm -rf yourPath/venv
    

    为了创建一个新的

    python3 -m venv pathToCreateNewVenv
    

    【讨论】:

      猜你喜欢
      • 2023-01-20
      • 1970-01-01
      • 1970-01-01
      • 2021-12-11
      • 2014-05-18
      • 2021-02-18
      • 1970-01-01
      • 2020-09-03
      • 2014-01-24
      相关资源
      最近更新 更多