Ben virtualenv ile --system-site-paketler bayrağını kullanarak sanal ortam zaten yüklü sistem paketlerini kullanmanızı sağlayacak bir izlenim altında değilim. Ancak bunun böyle olmadığını anlıyorum. Python'un özel derlenmiş bir sürümünü kullanıyorum. Sorunu aşağıdaki adımlarda görebilirsiniz. python2.7 -c aitVirtualenv --system-site-paketler
[[email protected] django]$ which python
/app/python/bin/python
[[email protected] django]$ which pip
/app/python/bin/pip
[[email protected] django]$ which virtualenv
/app/python/bin/virtualenv
[[email protected] django]$ python
Python 2.7.3 (default, Jul 27 2012, 11:30:41)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> exit()
[[email protected] django]$ pip freeze
Django==1.4.2
distribute==0.6.30
mercurial==2.3.2
python-ldap==2.4.10
virtualenv==1.8.2
wsgiref==0.1.2
[[email protected] django]$ pip --version
pip 1.2.1 from /app/python/lib/python2.7/site-packages (python 2.7)
[[email protected] django]$ env
<snip>
LD_LIBRARY_PATH=/app/python/lib:/app/openldap/lib:/app/instantclient_11_2
PATH=/app/python/bin:/app/openldap/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/bin/cfdelivered:/home/user/bin:/app/oracle/product/java/jdk1.6.0_30/bin
PYTHONPATH=/app/python/lib/python2.7
[[email protected] django]$ virtualenv --system-site-packages --distribute --python /app/python/bin/python2.7 foo
Running virtualenv with interpreter /app/python/bin/python2.7
New python executable in foo/bin/python2.7
Also creating executable in foo/bin/python
Installing distribute...<snip>...done.
Installing pip................done.
[[email protected] django]$ . foo/bin/activate
(foo)[[email protected] django]$ which python
/app/xxx/django/foo/bin/python
(foo)[[email protected] django]$ which pip
/app/xxx/django/foo/bin/pip
(foo)[[email protected] django]$ env
<snip>
LD_LIBRARY_PATH=/app/python/lib:/app/openldap/lib:/app/instantclient_11_2
VIRTUAL_ENV=/app/xxx/django/foo
PATH=/app/xxx/django/foo/bin:/app/python/bin:/app/openldap/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/bin/cfdelivered:/home/user/bin:/app/oracle/product/java/jdk1.6.0_30/bin
PYTHONPATH=/app/python/lib/python2.7
(foo)[[email protected] django]$ python
Python 2.7.3 (default, Jul 27 2012, 11:30:41)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named django
>>>
Sonuçları "ithal sys; baskı (sys.path)" Normal
: venv İçinde
[[email protected] django]$ python2.7 -c "import sys;print(sys.path)" ['', '/app/python/lib/python2.7/site-packages/cx_Oracle-5.1.2-py2.7-linux-x86_64.egg', '/app/python/lib/python2.7/site-packages/python_ldap-2.4.10-py2.7-linux-x86_64.egg', '/app/python/lib/python2.7', '/app/python/lib/python27.zip', '/app/python/lib/python2.7/plat-linux2', '/app/python/lib/python2.7/lib-tk', '/app/python/lib/python2.7/lib-old', '/app/python/lib/python2.7/lib-dynload', '/app/python/lib/python2.7/site-packages']
: Ben
(foo)[[email protected] django]$ python2.7 -c "import sys;print(sys.path)" ['', '/app/xxx/django/foo/lib/python2.7/site-packages/distribute-0.6.28-py2.7.egg', '/app/xxx/django/foo/lib/python2.7/site-packages/pip-1.2.1-py2.7.egg', '/app/python/lib/python2.7', '/app/xxx/django/foo/lib/python27.zip', '/app/xxx/django/foo/lib/python2.7', '/app/xxx/django/foo/lib/python2.7/plat-linux2', '/app/xxx/django/foo/lib/python2.7/lib-tk', '/app/xxx/django/foo/lib/python2.7/lib-old', '/app/xxx/django/foo/lib/python2.7/lib-dynload', '/app/xxx/django/foo/lib/python2.7/site-packages']
"import sys; baskı (sys.path)"' kullanarak hem virtualenv Python içinde ve Python VIRTUALENV yaratmak için kullanıldığında? –
Lütfen yukarıdaki listeleri sorunuza ekleyin (her satır için bir yol koyarım) ve yorumlardan kaldırın. Teşekkürler. –