的殼子命令只是調用一個交互式的Python解釋器,所以指向PYTHONSTARTUP UNIX環境變量設置爲包含一個文件您所需的進口將工作。這裏是序列:
[email protected]$ export PYTHONSTARTUP='/path/to/my/django/pythonStartup.py'; python ./manage.py shell
凡pythonStartup.py被任意命名,你可以將其命名爲任何你喜歡的,包括s.py(儘管這可能不是它最好的名字)。
alias django-shell="export PYTHONSTARTUP='/path/to/my/django/pythonStartup.py'; python ./manage.py shell"
,然後簡單地使用:= :)
您也可以在您的個人的.bash_profile創建下列便利別名
[email protected]$ . ${HOME}/.bash_profile # Normally you don't need to do this step.
[email protected]$ django-shell
現在,你只需要編輯pythonStartup.py文件,以合併您可能需要的導入行爲的任何更改,並簡單地運行別名(...無需編輯或重新輸入您的.bash_profile)。
這是我運行python3 ./manage時發生的情況。PY殼與PYTHONSTARTUP環境變量正確地指出,我要進口來自文件:
[email protected]$ python3 ./manage.py shell
Python 3.5.1 |Anaconda custom (64-bit)| (default, Dec 7 2015, 11:16:01)
Type "copyright", "credits" or "license" for more information.
IPython 4.2.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
Importing base set of modules often used ...
import sys, os, random, pprint, operator
import time, math
import numpy, numpy as np
import numpy.linalg
import scipy, scipy as spimport scipy.optimize
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.pylab as pylab
import pandas as pd
import sklearn.datasets
import sklearn.feature_extraction
import sklearn.linear_model
import sklearn.neighbors
import sklearn.cluster
import sklearn.preprocessing
import sklearn.decomposition
import gensim.models.word2vec
In [1]:
編輯:
一個額外的提示,我忘了提。
如果你把pythonStartup.py在你的Django項目的根目錄,然後創建別名如下:
alias django-shell="export PYTHONSTARTUP='./pythonStartup.py'; python ./manage.py shell"
讓你CD到任何Django項目的根目錄下,你目前正在處理中,別名將調用該特定項目的pythonStartup.py。該方法增加了靈活性。
通常情況下,您不希望從xxxx導入*,因爲這會導致其他模塊出現問題。 – PepperoniPizza
PepperoniPizza:導入*在這種情況下很好,因爲我在交互式shell中執行此操作。 – SerMetAla
@SerMetAla您是否考慮過使用PYTHONSTARTUP UNIX環境變量(如下面的答案所示)? –