我有一个django应用程序,我根据这里的文档打包:https: //docs.djangoproject.com/en/1.5/intro/reusable-apps/
我使用setup.py将应用程序安装到虚拟环境中.
./setup.py install
Run Code Online (Sandbox Code Playgroud)
应用程序的Web UI在虚拟环境中运行良好.但我无法通过此vanilla安装访问自定义管理命令.
(django_grm)[grm@controller django_grm]$ python ./manage.py sync_to_graphite
Unknown command: 'sync_to_graphite'
Run Code Online (Sandbox Code Playgroud)
以下是命令不执行时虚拟环境的样子:
(django_grm)[grm@controller django_grm]$ ll /home/grm/venv/django_grm/lib/python2.7/site-packages
total 1148
...
-rw-rw-r-- 1 grm grm 243962 Jun 19 17:11 django_grm-0.0.4-py2.7.egg
...
Run Code Online (Sandbox Code Playgroud)
但是,一旦我解压缩.egg文件,管理命令就会按预期工作.
(django_grm)[grm@controller django_grm]$ cd /home/grm/venv/django_grm/lib/python2.7/site-packages
(django_grm)[grm@controller site-packages]$ unzip django_grm-0.0.4-py2.7.egg
(django_grm)[grm@controller site-packages]$ ll /home/grm/venv/django_grm/lib/python2.7/site-packages
total 1152
...
-rw-rw-r-- 1 grm grm 243962 Jun 19 17:11 django_grm-0.0.4-py2.7.egg
drwxrwxr-x 6 grm grm 4096 Jun 19 17:16 dj_grm
...
(django_grm)[grm@controller site-packages]$ cd /home/grm/django_projects/django_grm/
(django_grm)[grm@controller django_grm]$ python ./manage.py sync_to_graphite
<success>
Run Code Online (Sandbox Code Playgroud)
这是正常的行为吗?感觉很不稳定.
我强烈建议使用pip而不是setup.py. 它在安装包和管理包方面往往做得更好。
一旦你有了虚拟环境,它将是:
$ . env/bin/activate
$ pip install [APP_NAME]
Run Code Online (Sandbox Code Playgroud)
这会在虚拟环境中安装应用程序的非压缩版本。
如果该应用程序是来自某个地方的 zip 文件,您仍然可以使用pip
$ pip install http://[URL_TO_ZIP]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
222 次 |
| 最近记录: |