我使用来自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
答案 0 :(得分:1)
尝试将您的根文件夹添加到Python的PYTHONPATH环境变量中 - 这样,它会找到# serverless.yaml
service: aws-hello
provider: aws
runtime: nodejs4.3
vpc:
securityGroupIds:
— "sg-123456"
subnetIds:
— "subnet-abc1"
— "subnet-abc1"
— "subnet-abc1"
functions:
foo: # inherits the VPC config
handler: src/handler.foo
bar: # overwrites the VPC config
handler: src/handler.bar
vpc:
securityGroupIds:
— "sg-999999"
subnetIds:
— "subnet-zzz9"
和subastas
作为可以找到的Python包。
从bash提示符,站在你的根“subastas”路径类型:
ah
但实际上,这只是一种解决方法 - 您真正需要的是使用export PYTHONPATH=`pwd`:$PYTHONPATH
文件来配置您的项目,该文件使用setuptools - https://pypi.python.org/pypi/setuptools,并且只需使用PIP来安装它本地(使用setup.py
命令)也将解决您的依赖问题。
而且,如果你不是,你真的应该为你的项目使用版本控制系统。
答案 1 :(得分:1)
是设置和问题的总和:pip + virtualenv + virtualenvwrapper请参阅tips-using-pip-virtualenv-virtualenvwrapper