![](/img/trans.png)
[英]Django Move Project from Windows Host to Linux Host (and Deploy)
[英]Error importing a Django project from windows to linux
我在 Windows 7 计算机上使用 python3 和 django 在一个项目中工作,现在我在家中使用我的 GNU/Linux 并且我试图让它工作,但我有一些错误。
我将整个东西解包到一个文件夹中,在那个文件夹中我用 django 安装了一个 virtualenv,在文件夹中我把我拥有的项目,然后我做
python3 manage.py makemigrations
python3 manage.py migrate
python3 manage.py runserver
我登录服务器,一切都在那里,每个数据、模型等。
到目前为止效果很好。 但后来我尝试运行脚本并收到此错误:
mod = importlib.import_module(self.SETTINGS_MODULE) File "/home/alex/proyectosP/ahq/11_env/lib/python3.4/importlib/__init__.py",
line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 2254, in _gcd_import File
"<frozen importlib._bootstrap>", line 2237, in _find_and_load File
"<frozen importlib._bootstrap>", line 2212, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 321, in
_call_with_frames_removed File "<frozen importlib._bootstrap>", line 2254, in _gcd_import File "<frozen importlib._bootstrap>", line
2237, in _find_and_load File "<frozen importlib._bootstrap>", line
2224, in _find_and_load_unlocked
ImportError: No module named 'subastas'
有问题的脚本有这个标题
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "subastas.settings")
import django
django.setup()
我复制了我在另一台计算机上的所有内容
subastas/
|-- ah
| |-- admin.py
| |-- api
| | |-- apiFunciones.py
| | |-- __init__.py
| | `-- __pycache__
| | |-- apiFunciones.cpython-35.pyc
| | `-- __init__.cpython-35.pyc
| |-- apps.py
| |-- busquedas
| | |-- busquedas.py
| | |-- datos.py
| | `-- __pycache__
| | |-- busquedas.cpython-35.pyc
| | `-- datos.cpython-35.pyc
| |-- config.py
| |-- correos
| | |-- funciones.py
| | |-- __init__.py
| | `-- __pycache__
| | |-- funciones.cpython-35.pyc
| | `-- __init__.cpython-35.pyc
| |-- graficas
| | |-- GraficasFunciones.py
| | |-- GraficaTest.py
| | `-- __init__.py
| |-- __init__.py
| |-- logs
| | `-- registro.txt
| |-- migrations
| | |-- 0001_initial.py
| | |-- 0002_auto_20170125_1727.py
| | |-- __init__.py
| | `-- __pycache__
| | |-- 0001_initial.cpython-35.pyc
| | |-- 0002_auto_20170125_1727.cpython-35.pyc
| | `-- __init__.cpython-35.pyc
| |-- models.py
| |-- obtenerCotizaciones.py
| |-- __pycache__
| | |-- admin.cpython-35.pyc
| | |-- config.cpython-35.pyc
| | |-- __init__.cpython-35.pyc
| | `-- models.cpython-35.pyc
| |-- resultados
| | |-- graficas
| | | |-- evolucionFrasco de Agilidad.svg
| | | |-- evolucionFrasco de Fuerza.svg
| | | |-- evolucionFrasco de Intelecto.svg
| | | `-- evolucionRosaluz.svg
| | |-- Rozaluz.csv
| | `-- temporal.json
| |-- tests.py
| |-- views.py
| `-- zips
| |-- testFactory.py
| `-- zfactory.py
|-- db.sqlite3
|-- manage.py
`-- subastas
|-- __init__.py
|-- __pycache__
| |-- __init__.cpython-35.pyc
| |-- settings.cpython-35.pyc
| |-- urls.cpython-35.pyc
| `-- wsgi.cpython-35.pyc
|-- settings.py
|-- urls.py
`-- wsgi.py
尝试将您的根文件夹添加到 Python 的 PYTHONPATH 环境变量中 - 这样,它会找出subastas
和ah
作为可以找到的 Python 包。
在 bash 提示符下,站在您的根“subastas”路径输入:
export PYTHONPATH=`pwd`:$PYTHONPATH
但实际上,这只是一种解决方法 - 您真正需要的是使用setup.py
文件配置您的项目,该文件使用 setuptools - https://pypi.python.org/pypi/setuptools ,只需使用 PIP在本地安装它(使用pip develop
命令),这也将解决您的依赖问题。
此外,如果你不是,你真的应该为你的项目使用版本控制系统。
是设置和问题的总和:pip + virtualenv + virtualenvwrapper 见tips-using-pip-virtualenv-virtualenvwrapper
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.