使用secrueCRT 进入远程服务器
tmux
然后先安装python3.7,也就是和本地项目对应的python环境
在这里找到需要的python版本
https://www.python.org/ftp/python/执行下面的命令
wget -c https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
提前安装好系统依赖包:
centos:
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel libffi-devel python-devel mariadb-devel
ubuntu:
sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libmysqlclient-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev liblzma-dev libffi-dev libc6-dev
- 获取
wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz tar -xzvf Python-3.7.2.tgz -C /tmp cd /tmp/Python-3.7.2/
- 把Python3.7安装到 /usr/local 目录
./configure --prefix=/usr/local make make altinstall
- 更改/usr/bin/python链接,便于操作
ln -s /usr/local/bin/python3.7 /usr/bin/python3
然后键入
python3
,即可查看python版本。
如果你要使用Python3作为python的默认版本,
你需要修改一下 bashrc 文件,增加一行alias参数
alias python='/usr/local/bin/python3.7'
由于CentOS 7建议不要动/etc/bashrc文件,而是把用户自定义的配置放入/etc/profile.d/目录中,具体方法为
vi /etc/profile.d/python.sh
输入alias参数 alias python="/usr/local/bin/python3.7",保存退出
如果非root用户创建的文件需要注意设置权限chmod 755 /etc/profile.d/python.sh
重启会话使配置生效
source /etc/profile.d/python.sh
安装好pip的情况下,可以先进行安装升级:
pip install --upgrade pip
centos上先安装:
yum install python-setuptools python-devel
pip install virtualenvwrapper
这里在pip install virtualenvwrapper报错的的话:
解决办法:
sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pbr
sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --no-deps stevedore
sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --no-deps virtualenvwrapper
然后在执行安装virtualenvwrapper:
pip install virtualenvwrapper
编辑.bashrc文件
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
这里的virtualenvwrapper.sh的文件目录要写对,可以在执行前先找一下:
sudo find / -name virtualenvwrapper.sh
重新加载.bashrc文件
source ~/.bashrc
新建虚拟环境:
mkvirtualenv oldleeenv
注意:这里需要指定python3来创建虚拟环境,不然默认都是python2,然后后续的安装包都会出问题
mkvirtualenv -p /usr/bin/python3 oldlee_env
进入虚拟环境
workon oldleeenv
退出虚拟环境
deactivate
install pip for python3.x
1.首先安装setuptools
小伙伴们可以通过官方模块库来下载:https://pypi.python.org/pypi
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26
tar -zxvf setuptools-19.6.tar.gz
cd setuptools-19.6.tar.gz
python3 setup.py build
python3 setup.py install
然后直接安装pip就搞定了。。
同样先下载然后在执行命令搞定!!
wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb
tar -zxvf pip-8.0.2.tar.gz
cd pip-8.0.2
python3 setup.py build
python3 setup.py install
打开原项目本机电脑的终端,进入虚拟环境:
workon oldlee_env
然后将原项目虚拟环境的依赖包相关信息导出来
pip freeze > requirements.txt
(文件生成目录:Macintosh HD - 用户 - oldlee)
然后将这个文件传输到远程服务器项目所在目录,可使用secureCRT。
然后进入服务器终端:
进入项目(即requirements.txt 文件)所在目录:
pip install -r requirements.txt
即可;
过程中在安装django时会报错:
然后输入命令:python,发现时默认python2:
python2.7.2(default。。。。)解决方法:根据下面的命令将默认版本设置为python3:
你需要修改一下 bashrc 文件,增加一行alias参数
aliaspython='/usr/local/bin/python3.7'
由于CentOS 7建议不要动/etc/bashrc文件,而是把用户自定义的配置放入/etc/profile.d/目录中,具体方法为
vi /etc/profile.d/python.sh
输入alias参数 alias python="/usr/local/bin/python3.7",保存退出
如果非root用户创建的文件需要注意设置权限
chmod 755 /etc/profile.d/python.sh
重启会话使配置生效
source /etc/profile.d/python.sh
然后输入命令:
python
,发现现在默认python3:
然后再执行:
python -m pip3 install -r requirements.txt
执行全部安装
首先导入:
from django.db import models
class OrderInfo(models.Model):
"""
订单
"""
ORDER_STATUS = (
("TRADE_SUCCESS", "成功"),
("TRADE_CLOSED", "超时关闭"),
("WAIT_BUYER_PAY", "交易创建"),
("TRADE_FINISHED", "交易结束"),
("paying", "待支付"),
)
user = models.ForeignKey(User, verbose_name="用户",on_delete=models.CASCADE)
order_sn = models.CharField(max_length=30, null=True, blank=True, unique=True, verbose_name="订单号")
# 这个trade_no字段是表明第三方支付的订单号,和本系统的订单做关联
trade_no = models.CharField(max_length=100, unique=True, null=True, blank=True, verbose_name=u"交易号")
pay_status = models.CharField(choices=ORDER_STATUS, default="paying", max_length=30, verbose_name="订单状态")
post_script = models.CharField(max_length=200, verbose_name="订单留言")
order_mount = models.FloatField(default=0.0, verbose_name="订单金额")
pay_time = models.DateTimeField(null=True, blank=True, verbose_name="支付时间")
# 用户信息
address = models.CharField(max_length=100, default="", verbose_name="收货地址")
signer_name = models.CharField(max_length=20, default="", verbose_name="签收人")
singer_mobile = models.CharField(max_length=11, verbose_name="联系电话")
add_time = models.DateTimeField(default=datetime.now, verbose_name="添加时间")
class Meta:
verbose_name = u"订单" #后台标题名称
verbose_name_plural = verbose_name
def __str__(self):
return str(self.order_sn)
然后执行
migrations
,生成数据文件;
然后执行
migrate
,生成数据表