gpt4 book ai didi

python - Django-bleach导入并部署到heroku错误

转载 作者:太空宇宙 更新时间:2023-11-03 14:17:49 27 4
gpt4 key购买 nike

我使用的是 Django 1.11。

我在我的 Django 应用程序中使用了 django-bleach,它是通过以下方式安装的:

pip install django-bleach

这里是 django-bleach 安装时的 lib 文件夹:

drwxr-xr-x  3 breno breno 4,0K jan  7 18:30 bleach
drwxr-xr-x 2 breno breno 4,0K jan 7 18:30 bleach-2.1.2.dist-info
drwxr-xr-x 19 breno breno 4,0K jan 7 18:30 django
drwxr-xr-x 2 breno breno 4,0K jan 7 18:30 Django-2.0.1.dist-info
drwxr-xr-x 4 breno breno 4,0K jan 7 18:30 django_bleach
drwxr-xr-x 2 breno breno 4,0K jan 7 18:30 django_bleach-0.3.0.egg-info
-rw-r--r-- 1 breno breno 126 jan 7 18:18 easy_install.py
drwxr-xr-x 8 breno breno 4,0K jan 7 18:30 html5lib
drwxr-xr-x 2 breno breno 4,0K jan 7 18:30 html5lib-1.0.1.dist-info
drwxr-xr-x 11 breno breno 4,0K jan 7 18:18 pip
drwxr-xr-x 2 breno breno 4,0K jan 7 18:18 pip-9.0.1.dist-info
drwxr-xr-x 5 breno breno 4,0K jan 7 18:18 pkg_resources
drwxr-xr-x 2 breno breno 4,0K jan 7 18:18 pkg_resources-0.0.0.dist-info
drwxr-xr-x 2 breno breno 4,0K jan 7 18:30 __pycache__
drwxr-xr-x 4 breno breno 4,0K jan 7 18:30 pytz
drwxr-xr-x 2 breno breno 4,0K jan 7 18:30 pytz-2017.3.dist-info
drwxr-xr-x 5 breno breno 4,0K jan 7 18:18 setuptools
drwxr-xr-x 2 breno breno 4,0K jan 7 18:18 setuptools-32.3.1.dist-info
drwxr-xr-x 2 breno breno 4,0K jan 7 18:30 six-1.11.0.dist-info
-rw-r--r-- 1 breno breno 31K jan 7 18:30 six.py
drwxr-xr-x 3 breno breno 4,0K jan 7 18:30 webencodings
drwxr-xr-x 2 breno breno 4,0K jan 7 18:30 webencodings-0.5.1.dist-info

所以,当我使用它时,我遇到了一个已修复的导入错误,我猜该错误发生在 Django 版本 1.6 或 1.8+ 中。您可以看到here我做了什么。它奏效了,我继续开发。

问题是:现在我尝试在 Heroku 中部署我的应用程序,但出现了相同的错误,并且必须修复导入。

所以,我认为我的存储库应该有requirements.txt和正确版本的django-bleach(有我提交的版本),这样它就能正常工作,对吧?

因此,我 fork 了存储库,提交了修改并使用以下文本创建了 requests.txt:

-e git+https://breno_asrm@bitbucket.org/breno_asrm/django-bleach.git#egg=django-bleach

然后我创建了一个新的虚拟环境并安装了

pip install -r requirements.txt

这是该环境的lib文件夹的结果

drwxr-xr-x  3 breno breno 4,0K jan  7 18:15 bleach
drwxr-xr-x 2 breno breno 4,0K jan 7 18:15 bleach-2.1.2.dist-info
drwxr-xr-x 19 breno breno 4,0K jan 7 18:15 django
drwxr-xr-x 2 breno breno 4,0K jan 7 18:15 Django-2.0.1.dist-info
-rw-r--r-- 1 breno breno 51 jan 7 18:15 django-bleach.egg-link
-rw-r--r-- 1 breno breno 50 jan 7 18:15 easy-install.pth
-rw-r--r-- 1 breno breno 126 jan 7 18:14 easy_install.py
drwxr-xr-x 8 breno breno 4,0K jan 7 18:15 html5lib
drwxr-xr-x 2 breno breno 4,0K jan 7 18:15 html5lib-1.0.1.dist-info
drwxr-xr-x 11 breno breno 4,0K jan 7 18:14 pip
drwxr-xr-x 2 breno breno 4,0K jan 7 18:14 pip-9.0.1.dist-info
drwxr-xr-x 5 breno breno 4,0K jan 7 18:14 pkg_resources
drwxr-xr-x 2 breno breno 4,0K jan 7 18:14 pkg_resources-0.0.0.dist-info
drwxr-xr-x 2 breno breno 4,0K jan 7 18:15 __pycache__
drwxr-xr-x 4 breno breno 4,0K jan 7 18:15 pytz
drwxr-xr-x 2 breno breno 4,0K jan 7 18:15 pytz-2017.3.dist-info
drwxr-xr-x 5 breno breno 4,0K jan 7 18:14 setuptools
drwxr-xr-x 2 breno breno 4,0K jan 7 18:14 setuptools-32.3.1.dist-info
drwxr-xr-x 2 breno breno 4,0K jan 7 18:15 six-1.11.0.dist-info
-rw-r--r-- 1 breno breno 31K jan 7 18:15 six.py
drwxr-xr-x 3 breno breno 4,0K jan 7 18:15 webencodings
drwxr-xr-x 2 breno breno 4,0K jan 7 18:15 webencodings-0.5.1.dist-info

我以为它会安装与以前相同的东西,只是添加我的修改,但事实并非如此。

例如,现在我的lib目录(env/lib/python3.5/site-packages/)没有 django_bleach 文件夹。

那么,我该如何修复它,而不必修改自动创建的heroku virtualenv(如果可能的话)?

最佳答案

看起来 pip 无法通过您的用户 breno_asrm 进行身份验证。由于存储库是公共(public)的 - 只需删除前面的用户名即可。

-e git+https://bitbucket.org/breno_asrm/django-bleach.git#egg=django-bleach

文件去哪里?

pip 使用 -e 从存储库安装的依赖项位于环境的另一个文件夹中。

来自 pip 的手册页:

-e,--editable

Install a project in editable mode (i.e. setuptools "develop mode") from a local project path or a VCS url.

看看 venv_root/src - 你会在那里看到 django-bleach (在你的例子中它是你的 git 存储库的克隆)。 venv_root/lib/python3.x/sites-packages/django-bleach.egg-link 包含可以找到源的信息。使用 lesscat 检查它。就我而言,它看起来像这样:

/tmp/env/src/django-bleach
.%

环境将按预期运行。

与 pip 的以下选项一起,所有这些都更有意义。这样,您可以在安装库时轻松地使用它,但不一定位于您的环境中。

--src < dir >

Directory to check out editable projects into. The default in a virtualenv is "< venvpath >/src". The default for global installs is "< current dir >/src".

关于python - Django-bleach导入并部署到heroku错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48141625/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com