2

Python の 3.5 ビルトイン virrtualenv パッケージを使用して、新しい Python 仮想環境を作成しています。

D:\Projects>python -m venv --system-site-packages proj_3

D:\Projects>cd proj_3

D:\Projects\proj_3>Scripts\activate.bat

(proj_3) D:\Projects\proj_3>pip install comtypes
Collecting comtypes
  Downloading comtypes-1.1.2.zip (179kB)
    100% |################################| 184kB 569kB/s
Installing collected packages: comtypes
  Running setup.py install for comtypes ... done
Successfully installed comtypes-1.1.2

(proj_3) D:\Projects\proj_3>dir Lib\site-packages
 Volume in drive D has no label.
 Volume Serial Number is 0E52-CE22

 Directory of D:\Projects\proj_3\Lib\site-packages

20.05.2016  14:15    <DIR>          .
20.05.2016  14:15    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  268,620,853,248 bytes free

したがって、既存のシステム パッケージを再利用し、作成した virtualenv に新しいパッケージをインストールしたいと考えています。しかし、代わりに、私はvirtualenvにいますが、pipはローカルプロジェクトではなくシステムライブラリにパッケージをインストールしました。

(proj_3) D:\Projects\proj_3>where pip
C:\Python35\Scripts\pip.exe

(proj_3) D:\Projects\proj_3>python -m ensurepip
Ignoring indexes: https://pypi.python.org/simple
Requirement already satisfied (use --upgrade to upgrade): setuptools in c:\python35\lib\site-packages
Requirement already satisfied (use --upgrade to upgrade): pip in c:\python35\lib\site-packages

pip はシステム パッケージに既に存在するため、ローカル パッケージでブートストラップされていないようです。私が何か間違ったことをしない限り、Python 2 で virtualenv を使用するとこのように動作しないため、これは予期しないことです。

何が間違っているのでしょうか?

4

1 に答える 1

3

すでにここで報告されているバグです: https://bugs.python.org/issue24875

修正される前に、この回避策を試してください。

まず、 なしで仮想環境を作成します--system-site-packages。次に、作成した環境を変更します。

pyvenv /path/to/env && pyvenv --system-site-packages /path/to/env
于 2016-12-06T07:13:08.253 に答える