С помощью сценария bash я создал виртуальную среду для своего проекта, сценарий bash сохраняется в том же каталоге, что и проект:
#!/bin/bash
virtualenv=~/Library/Python/3.7/lib/python/site-packages/virtualenv.py
wd=$(dirname "$BASH_SOURCE")
env_dir=~/virtual_environments/invest_scripts
$virtualenv $env_dir
cd -- "$(dirname "$BASH_SOURCE")"
source $env_dir/bin/activate
sudo python3 setup.py develop
deactivate
После запуска сценария я активирую среда, использующая
source ~/virtual_environments/invest_scripts/bin/activate
Но я получаю следующие выходные данные
(invest_scripts) $which python
(invest_scripts) $/Users/name/virtual_environments/invest_scripts/bin/python
(invest_scripts) $which python3
(invest_scripts) $/usr/bin/python3
Кроме того, я обнаружил, что при открытии интерактивной оболочки python3
, когда виртуальная среда не активирована и импортируйте пакет, указанный в setup.py
. Файл указывает на яйцо, показанное в моем проекте.
$ python3
Python 3.7.3 (default, Nov 15 2019, 04:04:52)
[Clang 11.0.0 (clang-1100.0.33.16)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> numpy.__file__
'/Users/name/invest_scripts/.eggs/numpy-1.18.0-py3.7-macosx-10.7 x86_64.egg/numpy/__init__.py'
Может ли кто-нибудь объяснить, что происходит?