这可能听起来像一个愚蠢的问题,因为其目的virtualenv正是为了这个:在虚拟环境中安装一个特定版本的软件包(在本例中为Django).但这正是我想做的事情,我无法弄明白.
我在Windows XP上,并且我成功创建了虚拟环境,并且我能够运行它,但是我应该如何安装我想要的Django版本呢?我的意思是,我知道使用新创建的easy_install脚本,但是如何安装Django 1.0.7呢?如果我这样做easy_install django,它将安装最新版本.我尝试1.0.7以各种方式将版本号放入此命令,但没有任何效果.
我该怎么做呢?
假设我有以下目录结构:
a\
__init__.py
b\
__init__.py
c\
__init__.py
c_file.py
d\
__init__.py
d_file.py
Run Code Online (Sandbox Code Playgroud)
在a包中__init__.py,c导入包.但是c_file.py进口a.b.d.
程序失败,说尝试导入b时不存在.(它确实不存在,因为我们正在进口它.)c_file.pya.b.d
如何解决这个问题呢?
我已经开始研究Django/Postgres网站了.有时我工作manage.py shell,并意外地做一些导致错误的数据库操作.然后我根本无法执行任何数据库操作,因为对于我尝试执行的任何数据库操作,我收到错误:
current transaction is aborted, commands ignored until end of transaction block
Run Code Online (Sandbox Code Playgroud)
我目前的解决方法是重新启动shell,但我应该找到一种方法来解决这个问题而不放弃我的shell会话.
将一个功能移植到我的程序的Python 3.1分支时,我遇到了一个奇怪的错误.我将其缩小到以下假设:
与Python 2.x相比,在Python 3.x中,如果一个对象有一个__eq__方法,它就会自动消失.
这是真的?
以下是Python 3.1中发生的情况:
>>> class O(object):
... def __eq__(self, other):
... return 'whatever'
...
>>> o = O()
>>> d = {o: 0}
Traceback (most recent call last):
File "<pyshell#16>", line 1, in <module>
d = {o: 0}
TypeError: unhashable type: 'O'
Run Code Online (Sandbox Code Playgroud)
后续问题是,我该如何解决我的个人问题?我有一个对象ChangeTracker存储一个WeakKeyDictionary指向多个对象的对象,在过去的某个时间点为每个对象提供它们的值.每当签入现有对象时,更改跟踪器会说明其新的pickle是否与旧的pickle相同,因此在此期间说明对象是否已更改.问题是,现在我甚至无法检查给定对象是否在库中,因为它使得它引发了一个关于不可对象的对象的异常.(因为它有一个__eq__方法.)我该如何解决这个问题?
我有一个模型Coupon,以及一个Photo带有ForeignKey它的模型:
class Photo(models.Model):
coupon = models.ForeignKey(Coupon,
related_name='description_photos')
title = models.CharField(max_length=100)
image = models.ImageField(upload_to='images')
Run Code Online (Sandbox Code Playgroud)
我在管理员中设置内联,所以现在我可以将照片添加到管理员的优惠券中.
我尝试添加一个,上传成功,但后来我得到Django的调试页面,出现此错误:
IntegrityError at /admin/coupon/coupon/321/
(1452, 'Cannot add or update a child row: a foreign key constraint fails (`my_project`.`coupon_photo`, CONSTRAINT `coupon_id_refs_id_90d7f06` FOREIGN KEY (`coupon_id`) REFERENCES `coupon_coupon` (`id`))')
Run Code Online (Sandbox Code Playgroud)
这是什么以及如何解决这个问题?
(如果重要,这是一个MySQL数据库.)
编辑:我在一个Sqlite3数据库上尝试了它,它有一个稍微不同的数据集,并且它有效,所以在我当前的数据库中可能有松散的数据?我怎样才能找到并删除它?
我收到了一个Python项目(恰好是一个Django项目,如果这很重要的话),它使用fcntl标准库中的模块,该模块似乎仅在Linux上可用.当我尝试在我的Windows机器上运行它时,它会停止ImportError,因为此模块在此处不存在.
我有什么方法可以对程序进行一些小改动,使其在Windows上运行?
我有两个文件,node.py并且path.py,它定义了两个类,Node并Path分别.
到目前为止,Path引用该Node对象的定义,因此我已经完成了
from node.py import *
Run Code Online (Sandbox Code Playgroud)
在path.py文件中.
但是,截至今天,我创建了一个Node引用该Path对象的新方法.
我在尝试导入时遇到了问题path.py:我尝试过,当程序运行并调用使用的Path方法时Node,一个异常上升,Node因为没有定义.
我该怎么办?
我正在制作一个框架,让开发人员使用reStructuredText描述他们的包.我想将reStructuredText解析为HTML,以便我可以在GUI中显示它.
我熟悉优秀的Sphinx,但我从来没有解析过reStructuredText.我想象了一个函数,它接受一串reStructuredText,可能还有几个额外的参数,并返回一个HTML字符串.
所以我查看了Docutils,它负责解析reStructuredText.我根本无法理解如何找到这个功能.网上的文档很多.该docutils.parsers.rst模块中的许多功能似乎都面向文件名.我没有文件名!我只是处理字符串.
我尝试创建一个Parser和一个Document并使用该parse方法,但我只是得到一个错误的.tab_width设置错误.
有谁知道如何将reStructuredText解析为HTML?
尝试urlopen维基百科的某个页面时,我有一个奇怪的错误.这是页面:
http://en.wikipedia.org/wiki/OpenCola_(drink)
这是shell会话:
>>> f = urllib2.urlopen('http://en.wikipedia.org/wiki/OpenCola_(drink)')
Traceback (most recent call last):
File "C:\Program Files\Wing IDE 4.0\src\debug\tserver\_sandbox.py", line 1, in <module>
# Used internally for debug sandbox under external interpreter
File "c:\Python26\Lib\urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "c:\Python26\Lib\urllib2.py", line 397, in open
response = meth(req, response)
File "c:\Python26\Lib\urllib2.py", line 510, in http_response
'http', request, response, code, msg, hdrs)
File "c:\Python26\Lib\urllib2.py", line 435, in error
return self._call_chain(*args)
File "c:\Python26\Lib\urllib2.py", line 369, in _call_chain
result = …Run Code Online (Sandbox Code Playgroud) 我正在使用Python进行分析cProfile.我发现一个占用大量CPU时间的函数.我如何找出哪个函数调用这个重函数最多?
编辑:
我会解决一个解决方法:我可以在那个重函数中编写一个Python行,它将打印调用它的函数的名称吗?
python ×8
django ×3
dependencies ×1
docutils ×1
foreign-keys ×1
hash ×1
http ×1
linux ×1
mysql ×1
orm ×1
postgresql ×1
profiling ×1
python-3.x ×1
setuptools ×1
urllib2 ×1
virtualenv ×1
windows ×1