【问题标题】:transfer virtualenvwrapper environment from ubuntu to windows将 virtualenvwrapper 环境从 ubuntu 转移到 windows
【发布时间】:2018-03-25 01:52:26
【问题描述】:

我曾在 ubuntu 中使用多个虚拟环境处理过不同的项目。 我有 virtualenvwrapper 并使用经典的 mkvirtualenv <envname> 命令来完成。

在我的系统上,我也有 Windows,我想在这个操作系统上检索我的环境。 我通过 pip 安装了 virtualenvwrapper-win 包并将我的 WORKON_HOME 环境变量设置为与我的 ubuntu 系统上的相同位置。

现在在 windows 上,workon 命令的输出如下:

(base) C:\Users\mathi>workon

Pass a name to activate one of the following virtualenvs:
==============================================================================
caps_env
dashex
media
PMALL36

但是当我尝试激活我得到的环境之一时:

(base) C:\Users\mathi>workon PMALL36

    D:\Informatique\virtual_environments\PMALL36
    doesn't contain a virtualenv (yet).
    Create it with "mkvirtualenv PMALL36"

有什么线索吗?

【问题讨论】:

  • 您发布的错误消息包含解决方案。
  • 但是环境已经存在。当我输入 mkvirtualenv PMALL36 它说:(base) C:\Users\mathi>mkvirtualenv PMALL36 ERROR: virtualenv "PMALL36" already exists
  • 你不觉得这些信息有些重要吗?重要信息需要进入您的问题。见How to Ask

标签: windows ubuntu virtualenvwrapper


【解决方案1】:

virtualenvs 的布局在 linux 和 windows 之间是不同的,python 可执行文件和所有用 C 编写并作为共享库加载的模块也是如此。如果它们不是纯 Python 模块,任何第三方包都会出现问题,即使它们安装在不同的位置,例如在窗户上:

F:\> workon test1
(test1) F:\> cdvirtualenv
(test1) c:\srv\venv\test1> cdsitepackages
(test1) c:\srv\venv\test1\Lib\site-packages>

和 Ubuntu:

deployer@linoidbc:~$ workon test1
(test1) deployer@linoidbc:~$ cdvirtualenv
(test1) deployer@linoidbc:/srv/venv/test1$ cdsitepackages
(test1) deployer@linoidbc:/srv/venv/test1/lib/python2.7/site-packages$

我猜你已经从 linux 创建了 virtualenv,它把 activate 放在 $VIRTUAL_ENV/bin/activate 中,当 virtualenvwrapper-win 在 %VIRTUAL_ENV%\Scripts\activate.bat 中检查它时,你会收到该错误消息:

if not exist "%WORKON_HOME%\%VENV%\Scripts\activate.bat" (
    echo.
    echo.    %WORKON_HOME%\%VENV%
    echo.    doesn't contain a virtualenv ^(yet^).
    echo.    Create it with "mkvirtualenv %VENV%"
    goto END
)

您应该创建一个共享(项目)目录,与您的 virtualenvs 分开。您需要创建两个virtualenvs,一个用于linux,一个用于windows,并将它们连接到项目目录。我相信你应该能够做到:

mkvirtualenv -a /path/to/project/dir mylinux_venv

mkvirtualenv -a \path\to\project\dir mywin_venv

将您的 requirements.txt 文件放在项目目录中,并在您更改需求时使用两个 virtualenvs 中的pip install -U -r requirements.txt

项目目录自动添加到对应virtualenv的路径中,cdproject命令会切换到该目录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-01
    • 2020-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-21
    • 1970-01-01
    • 2016-03-18
    相关资源
    最近更新 更多