我在virtualenv中安装pytz时遇到问题。
Downloading/unpacking pytz
Could not find a version that satisfies the requirement pytz (from versions: 2009r, 2008b, 2009f, 2008c, 2007g, 2011g, 2005m, 2011e, 2007f, 2011k, 2007k, 2006j, 2008h, 2008i, 2011e, 2008a, 2009e, 2006g, 2011j, 2010l, 2005m, 2008i, 2005k, 2008g, 2007c, 2007i, 2009l, 2009r, 2006j, 2011k, 2007d, 2006p, 2009i, 2009u, 2007i, 2009f, 2010g, 2008h, 2009a, 2007g, 2011e, 2006p, 2012b, 2010k, 2005r, 2007f, 2009l, 2009p, 2008c, 2009j, 2008g, 2010g, 2010h, 2011h, 2010k, 2007c, 2007d, 2011d, 2009l, 2011c, 2008a, 2005m, 2007k, 2009n, 2011d, 2010o, 2013b, 2012h, 2010e, 2012c, 2012d, 2012f, 2011n, 2011b, 2011j, 2008c, 2012j, 2007k, 2009f, 2009d, 2010e, 2010b, 2013b, 2011d, 2009p, 2008h, 2005r, 2009i, 2009n, 2009a, 2010k, 2008g, 2006g, 2008b, 2012c, 2009i, 2007g, 2012c, 2010h, 2011n, 2012g, 2007d, 2008a, 2009u, 2012g, 2010o, 2006p, 2010b, 2009u, 2012d, 2011k, 2012f, 2009a, 2007f, 2011h, 2010l, 2009j, 2011g, 2009g, 2009g, 2005r, 2011c, 2012g, 2009g, 2012d, 2009j, 2010o, 2007c, 2010g, 2006g, 2009d, 2010h, 2005k, 2006j, 2010b, 2009n, 2011g, 2011c, 2012b, 2009e, 2009d, 2011j, 2007i, 2012j, 2010l, 2009r, 2012h, 2010e, 2009p, 2008i, 2012f, 2009e, 2012b, 2011h, 2005k, 2008b, 2013b, 2011n, 2012j, 2004b)
Cleaning up...
No distributions matching the version for pytz
最新版本的pip似乎有问题。
有什么解决方法吗?
尝试pip install --pre pytz。
该评论应以粗体显示72。
如果您尝试安装askbot,请先运行上述命令,并在" pip install askbot"安装pytz失败时解决此问题。 尝试在Amazons Ubuntus 12.04 AMI上安装Askbot时出现问题。
好消息:--pre不再需要:版本编号方案已更改:bugs.launchpad.net/pytz/+bug/1224858
由于行为上的这一变化,在使用pip v1.4或更高版本安装pytz时发生此错误:
Pre-release Versions
Starting with v1.4, pip will only install stable versions as specified by PEP426 by default. If a version cannot be parsed as a compliant PEP426 version then it is assumed to be a pre-release.
If a Requirement specifier includes a pre-release or development version (e.g. >=0.0.dev0) then pip will allow pre-release and development versions for that requirement. This does not include the != flag.
The pip install command also supports a --pre flag that will enable installing pre-releases and development releases.
pytz包的版本标识符的格式类似于2013b。 PEP426使用PEP440中描述的版本标识符,该版本标识符指定:
Public version identifiers MUST comply with the following scheme:
N[.N]+[{a|b|c|rc}N][.postN][.devN]
因为像2013b这样的pytz版本与此格式不匹配,所以pip 1.4+版会将pytz的所有版本视为预发行版本,并且默认情况下不安装它们。
如果仅安装pytz,则可以使用--pre标志来避免这种行为,但是您不想使用此标志来安装整个项目的要求:某些软件包可能具有您不希望使用的不稳定的预发行版本不想。在这种情况下,请使用上述行为:如果您为软件包指定了"预发行"版本号,则pip将搜索该软件包的"预发行"版本。因此,我已将其添加到我的requirements.txt中:
pytz>=2013b
现在,当我升级软件包时,pip现在将正确搜索并安装最新版本的pytz。
这已在pytz错误跟踪器中作为问题#1204837提交,在pip错误跟踪器中作为问题#974提交。
停止按下:如PyTz错误报告中所述,pytz的版本号现已更改为例如2013.7-因此,一旦升级到此版本,就不再会出现此问题。
更新的PEP 440似乎说pytz应该使用0.2013.6格式,而不是2013.6。 令人困惑。
只是一个学生。我正在学习pytz(下载,运行,命令提示符,然后尝试IntelliJ,Project Structure,SDKS),即使删除,重做文件后也无法导入。阅读启动类型错误列表。我转向钟摆。它与以前使用pytz的脚本一起使用。只是一个主意,而不是直接的答案。原始脚本是Buchalka(在课程中教Python3脚本,该课程不适用于IntelliJ)和pytz。使脚本适应摆锤(Intellij,项目结构,SDKS,+),因此我可以体验时区。 (此代码段没有缩进)由于对Internet站点的搜索并未发现解决pytz的太多帮助。摆提供了另一种选择。
import pendulum
import datetime
country ="Europe/Paris"
tz_to_display = pendulum.timezone(country)
local_time = datetime.datetime.now(tz=tz_to_display)
print("The time in {} is {}".format(country, local_time))
print("UTC is {}".format(datetime.datetime.utcnow()))
对于那些知识更多,脚本更复杂的人,这里是摆锤站点。 https://pendulum.eustace.io/blog/a-faster-alternative-to-pyz.html
该站点上有一个摆锤库。它指出(塞巴斯蒂安·尤斯塔斯)
这是由于Pendulum在很大程度上依赖于Python 3.6中引入的fold属性的存在。
它在Pendulum生态系统中起作用的原因是它向后移植了DateTime类中的fold属性。
tmi-您当然可以缩短答案,并给出更精确的答案。