我正在创建一个库,但该库也是一个应用程序。因此,我试图让那些没有真正编程背景的人尽可能轻松地编写代码。我决定同意this post中的建议。但是,我遇到了各种各样的问题。我希望用户做
$ make config
$ make install
我需要这样做,因为它实际上是一个C ++ / Python代码,所以我将它们与Swig和Cmake混合在一起。我的目标是制作config
和install
目标,这样安装就变得轻而易举了。我遇到的第一个问题如下:如果setup.py
文件的内容与
from setuptools import setup, find_packages
def read(*names, **kwargs):
return io.open(
join(dirname(__file__), *names),
encoding=kwargs.get("encoding", "utf8")
).read()
setup(
name="myproject",
version="0.1.0",
)
我输入 $ python setup.py build
代码实际安装在pip
?
$ pip freeze
-e git+https://svn.3me.tudelft.nl/git/myproject.git@92f08bfcbaf1f78a6acdf5f03b5c7a36e87800eb#egg=myproject
我改进了setup.py
,因此它也有依赖关系:
setup(
name="myproject",
version="0.1.0",
install_requires=[
# eg: "aspectlib==1.1.1", "six>=1.7",
"numpy", "scipy", "Sphinx", "pytest", "matplotlib", "dill"
],
)
我按照上面的链接讨论了requirements.txt
:
--index-url https://pypi.python.org/simple/
-e .
我运行pip install -r requirements.txt
它实际上安装了所需的所有依赖项,但是如果我重新运行它,它会失败并带有
Exception:
Traceback (most recent call last):
File "/Users/aaragon/.virtualenvs/test7/lib/python3.5/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/Users/aaragon/.virtualenvs/test7/lib/python3.5/site-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/Users/aaragon/.virtualenvs/test7/lib/python3.5/site-packages/pip/req/req_set.py", line 778, in install
requirement.uninstall(auto_confirm=True)
File "/Users/aaragon/.virtualenvs/test7/lib/python3.5/site-packages/pip/req/req_install.py", line 703, in uninstall
'(at %s)' % (link_pointer, self.name, dist.location)
AssertionError: Egg-link /Users/aaragon/Local/myproject does not match installed location of myproject (at /Users/aaragon/Local/myproject/src)
为什么我会收到此错误?