我正在尝试安装MySQL_python适配器的1.2.2版本,使用使用该--no-site-packages
选项创建的新virtualenv .PyPi中显示的当前版本是1.2.3.有没有办法安装旧版本?我发现一篇文章说这应该这样做:
pip install MySQL_python==1.2.2
Run Code Online (Sandbox Code Playgroud)
但是,安装后,它仍会在站点包中显示MySQL_python-1.2.3-py2.6.egg-info.这是这个包特有的问题,还是我做错了什么?
我需要做什么
我有一个时区不知道的日期时间对象,我需要添加一个时区,以便能够将其与其他时区感知日期时间对象进行比较.我不想将我的整个应用程序转换为时区,而不是因为这个遗留案例.
我试过的
首先,要证明问题:
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import datetime
>>> import pytz
>>> unaware = datetime.datetime(2011,8,15,8,15,12,0)
>>> unaware
datetime.datetime(2011, 8, 15, 8, 15, 12)
>>> aware = datetime.datetime(2011,8,15,8,15,12,0,pytz.UTC)
>>> aware
datetime.datetime(2011, 8, 15, 8, 15, 12, tzinfo=<UTC>)
>>> aware == unaware
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can't compare offset-naive and offset-aware …
Run Code Online (Sandbox Code Playgroud) 我需要在我的脚本中直接从PyPi安装一个包.也许有一些模块或distutils
(distribute
,pip
等)功能,它允许我只是执行像pypi.install('requests')
和请求将被安装到我的virtualenv.
我需要用于python 2.6的unittest2和importlib,这是travis测试的其他python版本所不需要的.
有没有办法告诉Travis-CI每个python版本都有不同的requirements.txt文件?
有没有办法在基于环境变量值的 pip requirements.txt 文件中指定条件安装?
我已经能够使用环境标记来控制我需要的大部分内容,但是我所知道的所有标记都只能使用本质上由 Python 预先定义的特定值。
例如,我希望能够控制 RHEL 5.3 vs. RHEL 6.3 vs. RHEL 6.6 等的包安装。也基于其他标准。
如果我可以在 results.txt 文件中指定一个环境变量,该变量将根据我在运行 pip 之前设置的值进行检查,那将是完美的。这似乎是可取的和直接的功能。到目前为止,我还没有找到关于环境标记的全面讨论,所以我希望我刚刚错过了一些关键信息:-)
非常感谢。
我正在尝试使用Tox来测试Python和Django的特定版本,但还包括一个通用的Pip需求文件,其中包含用于所有情况的其他依赖项.
正如Tox文档解释的那样,你做的第一个就是:
deps =
django15: Django>=1.5,<1.6
django16: Django>=1.6,<1.7
py33-mysql: PyMySQL ; use if both py33 and mysql are in an env name
py26,py27: urllib3 ; use if any of py26 or py27 are in an env name
py{26,27}-sqlite: mock ; mocking sqlite in python 2.x
Run Code Online (Sandbox Code Playgroud)
而你做第二个像:
deps = -r{toxinidir}/pip-requirements.txt
-r{toxinidir}/pip-requirements-test.txt
Run Code Online (Sandbox Code Playgroud)
但是你如何结合这些?
如果我尝试定义多个deps,Tox会给出错误"重复名称'deps'",但我没有看到将字典和列表标记组合为deps的方法.
我也尝试过:
deps =
-r{toxinidir}/pip-requirements.txt
-r{toxinidir}/pip-requirements-test.txt
django15: Django>=1.5,<1.6
django16: Django>=1.6,<1.7
Run Code Online (Sandbox Code Playgroud)
虽然这不会给我任何解析错误,但当我去运行测试时,我得到错误:
错误:py27-django15:无法安装deps [-r/usr/local/myproject/pip-requirements.txt,-r/usr/local/myproject/pip-requirements-test.txt,Django> = 1.5,<1.6 ].v = InvocationError('/ usr/local/myproject/.tox/py27-django15/bin/pip install -r/usr/local/myproject/pip-requirements.txt -r/usr/local/myproject/pip-requirements- test.txt Django> = 1.5,<1.6(参见/usr/local/myproject/.tox/py27-django15/log/py27-django15-1.log)',1)
大概是因为它将需求文件解释为文字Python包名称.
我有一台配备 Apple M1 芯片组的新 MacBook。要安装tensorflow,我按照此处的说明进行操作,即安装tensorflow-metal
andtensorflow-macos
而不是普通的tensorflow
软件包。
虽然这工作正常,但这意味着我无法运行典型的,pip install -r requirements.txt
只要我们tensorflow
在requirements.txt
. 如果我们改为包含tensorflow-macos
,则会给非 M1 甚至非 macOS 用户带来问题。
我们的库必须在所有平台上运行。是否有一个通用安装命令可以根据计算机是否是 M1 Mac 来安装正确的 TensorFlow 版本?这样我们就可以为requirements.txt
每个人使用一个单一的?
或者,如果这是不可能的,我们可以传递一些标志/选项,例如pip install -r requirements.txt --m1
安装一些变体吗?这里最简单、最优雅的解决方案是什么?
python ×7
pip ×3
pypi ×2
apple-m1 ×1
datetime ×1
django ×1
macos ×1
mysql ×1
mysql-python ×1
tensorflow ×1
timezone ×1
tox ×1
travis-ci ×1
unit-testing ×1