【问题标题】:Using virtualenv in VMWare with shared Windows folder在 VMWare 中使用带有共享 Windows 文件夹的 virtualenv
【发布时间】:2012-02-01 09:50:30
【问题描述】:

我目前在 Windows 机器上运行的 VMWare 中使用 linux VM。我的项目有一个共享的 Windows 文件夹,我通过 /mnt/hgfs/ 在 linux 中访问它

当我尝试将 virtualenv 用于我的 python 项目时,我收到“不支持操作”错误:

joe@myserver:/mnt/hgfs/winwww/envtest# virtualenv env
Traceback (most recent call last):
  File "/usr/local/bin/virtualenv", line 9, in <module>
    load_entry_point('virtualenv==1.7', 'console_scripts', 'virtualenv')()
  File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 928, in main
    never_download=options.never_download)
  File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 1029, in create_environment
    site_packages=site_packages, clear=clear))
  File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 1164, in install_python
    copyfile(join(stdlib_dir, fn), join(lib_dir, fn))
  File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 430, in copyfile
    copyfileordir(src, dest)
  File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 405, in copyfileordir
    shutil.copytree(src, dest, True)
  File "/usr/lib/python2.6/shutil.py", line 173, in copytree
    raise Error, errors
shutil.Error: [('/usr/lib/python2.6/config/libpython2.6.so', 'env/lib/python2.6/config/libpython2.6.so', '[Errno 95] Operation not supported')]

我假设这是由于 Windows 无法处理符号链接,因为我可以在其他目录中创建我的 virtualenvs。

有没有人想出办法让 virtualenv 在共享的 Windows 文件夹中工作?我在我的 Windows 机器上编辑我的代码,这就是我使用共享文件夹的原因。

谢谢。

【问题讨论】:

    标签: python linux vmware virtualenv


    【解决方案1】:

    virtualenv 不需要位于您的代码旁边,因此即使您无法在共享文件夹中创建它,这也不会影响您在 Windows 上编辑代码并在主机平台上运行它的能力。在我看来,尝试与多个平台共享特定于平台的文件是个坏主意。

    这是 .pth 文件的用处,如果您在项目中使用带有 setup.py 的 setuptools,您只需 $VENV/python setup.py develop 即可将您的项目链接到 virtualenv,无论它位于何处。然后您可以运行$VENV/python,您的包将位于sys.path 中并可供导入。

    【讨论】:

    • @MichaelMerickel 谢谢你的回答,它帮助了我,但是我无法从 python 网站上找到任何关于这个的文档,我对如何做到这一点有点困惑。你能详细说明你的答案吗?谢谢
    猜你喜欢
    • 1970-01-01
    • 2018-11-29
    • 1970-01-01
    • 2016-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 2019-02-24
    相关资源
    最近更新 更多